5.事件处理-注册事件.html 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>事件处理</title>
  8. <script src="../babel.min.js"></script>
  9. <script src="../react.development.js"></script>
  10. <script src="../react-dom.development.js"></script>
  11. </head>
  12. <body>
  13. <div id="root"></div>
  14. <!-- 原生事件注册 -->
  15. <!-- <button id="btn">点我试试</button> -->
  16. <script type="text/babel">
  17. // 比如注册点击事件
  18. // 原生DOM实现
  19. // document.getElementById('btn').onclick = function () {
  20. // alert('你敢点我???');
  21. // };
  22. // React中的实现
  23. function handleClick() {
  24. alert('你敢点我???');
  25. }
  26. function handleChage() {
  27. console.log('changed');
  28. }
  29. function handleSubmit() {
  30. alert('submit');
  31. }
  32. const element = (
  33. <div>
  34. {/**1 点击事件 **/}
  35. <button onClick={handleClick}>点我试试</button>
  36. {/**2 change事件 **/}
  37. {/* input元素的change事件 和原生的input事件 是一样的 */}
  38. <input type="text" onChange={handleChage} />
  39. {/**3 submit事件 **/}
  40. <form onSubmit={handleSubmit}>
  41. <p>这旮瘩是表单</p>
  42. <button>提交</button>
  43. </form>
  44. </div>
  45. );
  46. ReactDOM.createRoot(document.querySelector('#root')).render(element);
  47. </script>
  48. </body>
  49. </html>