3.事件处理.html 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title></title>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <!-- 将jsx转为js -->
  8. <script src="./babel.min.js"></script>
  9. <!-- react核心库 -->
  10. <script src="./react.development.js"></script>
  11. <!-- react中dom操作库 -->
  12. <script src="./react-dom.development.js"></script>
  13. </head>
  14. <body>
  15. <div id="root"></div>
  16. <div id="btn">这是一个按钮</div>
  17. <!-- type="text/babel"
  18. 告诉babel库 将jsx转成js
  19. this指向:
  20. 方法中 this指向当前标签
  21. 改变this指向方法
  22. 1.bind
  23. 2.箭头函数 ()=>{}
  24. -->
  25. <script type="text/babel">
  26. function onClick(){
  27. console.log(this)
  28. }
  29. // 第一种
  30. document.getElementById("btn").onclick = onClick;
  31. var aaaa = {name:"My name is Tutu"};
  32. // 改变this指向:call bind apply
  33. // 第二种
  34. let element = <div onClick={onClick.bind(aaaa)}>这是第二个按钮</div>
  35. let newPage = ReactDOM.createRoot(document.querySelector("#root"));
  36. newPage.render(element)
  37. </script>
  38. </body>
  39. </html>