123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>事件处理</title>
- <script src="../babel.min.js"></script>
- <script src="../react.development.js"></script>
- <script src="../react-dom.development.js"></script>
- </head>
- <body>
- <div id="root"></div>
- <!-- 原生事件注册 -->
- <!-- <button id="btn">点我试试</button> -->
- <script type="text/babel">
- // 比如注册点击事件
- // 原生DOM实现
- // document.getElementById('btn').onclick = function () {
- // alert('你敢点我???');
- // };
- // React中的实现
- function handleClick(e) {
- console.log(e);
- alert('你敢点我???');
- }
- function handleChage(e) {
- // 每次文本改后将其打印出来
- console.log('changed:', e.target.value);
- }
- function handleSubmit(e) {
- e.preventDefault(); // 取消默认行为
- alert('submited.');
- }
- const element = (
- <div>
- {/**1 点击事件 **/}
- <button onClick={handleClick}>点我试试</button>
- {/**2 change事件 **/}
- {/* input元素的change事件 和原生的input事件 是一样的 */}
- <input type="text" onChange={handleChage} />
- {/**3 submit事件 **/}
- <form onSubmit={handleSubmit}>
- <p>这旮瘩是表单</p>
- <button>提交</button>
- </form>
- </div>
- );
- ReactDOM.createRoot(document.querySelector('#root')).render(element);
- </script>
- </body>
- </html>
|