1.事件处理.html 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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="root"></div>
  13. <script type="text/babel">
  14. function handleClick(){
  15. console.log('我是点击事件')
  16. }
  17. function handleChange(e){
  18. console.log('我是输入事件',e.target.value)
  19. }
  20. function handleSumbit(e){
  21. // 阻止事件的默认行为
  22. // e.preventDefault() 阻止默认事件
  23. // e.stopPropagation() 阻止事件冒泡
  24. e.preventDefault()
  25. console.log('我是表单提交事件')
  26. }
  27. let element = (
  28. <div>
  29. {/*react 事件处理 onXXX 使用驼峰命名法
  30. 事件绑定使用 { }
  31. onClick={事件处理函数} 点击事件
  32. onChange={事件处理函数} 输入事件
  33. onSubmit={事件处理函数} 表单的提交事件
  34. */}
  35. <button onClick={handleClick}>我是一个按钮</button>
  36. <br/><input type="text" onChange={handleChange}/>
  37. <form onSubmit={handleSumbit}>
  38. {/*表单点击提交后会有一个默认的自动刷新行为*/}
  39. <button>提交</button>
  40. </form>
  41. </div>
  42. )
  43. ReactDOM.createRoot(document.getElementById('root')).render(element)
  44. </script>
  45. </body>
  46. </html>