2.事件this指向.html 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <script src="../babel.min.js"></script>
  8. <script src="../react.development.js"></script>
  9. <script src="../react-dom.development.js"></script>
  10. </head>
  11. <body>
  12. <div id="btn">第一种</div>
  13. <div id="root"></div>
  14. <!--
  15. this指向:
  16. 在方法中 this 指向当前DOM元素
  17. 改变this指向方法
  18. 1. bind
  19. 2. ()=>{} 箭头函数
  20. -->
  21. <script type="text/babel">
  22. // 第一种 this指向
  23. function handleClick(){
  24. console.log(this)
  25. }
  26. document.getElementById("btn").onclick = handleClick
  27. // 第二种 改变this指向
  28. // call apply bind
  29. let person = {
  30. str:"我是一个字符串"
  31. }
  32. let element = <div onClick={handleClick.bind(person)}>第二种</div>
  33. ReactDOM.createRoot(document.querySelector('#root')).render(element)
  34. </script>
  35. </body>
  36. </html>