10.事件绑定.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. <!-- jsx 语法浏览器不识别 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">
  16. </div>
  17. <script type="text/babel">
  18. let root = ReactDOM.createRoot(document.getElementById("root"));
  19. /**
  20. * 事件绑定
  21. * 1.DOM中 事件绑定:onClick onChange onBlur onSubmit
  22. * 2.事件流中的事件绑定:addEventListener('click/mousemove',function(){},true(捕获)/false(冒泡))
  23. * jsx语法
  24. */
  25. function App() {
  26. // 逻辑
  27. function showMain() {
  28. alert("我是main");
  29. }
  30. function saveMain(){
  31. console.log("提交")
  32. alert("我是saveMain");
  33. }
  34. // 渲染的jsx语法
  35. return (
  36. <div>
  37. {/*点击事件绑定*/}
  38. <p onClick={showMain}>你好</p>
  39. {/*change事件绑定*/}
  40. <input type="text" onChange={function() {
  41. console.log("改变了")
  42. }} />
  43. {/*blur事件绑定*/}
  44. <input type="text" onBlur={() =>{
  45. console.log("失焦了")
  46. }}/>
  47. {/*submit事件绑定*/}
  48. <button onClick={saveMain}>提交</button>
  49. </div>
  50. )
  51. }
  52. // box.addEventListener
  53. root.render(<App/>)
  54. </script>
  55. </body>
  56. </html>