演示对事件代理机制的理解:
Html实例
var ul = document.getElementsByTagName('ul').item(0); ul.addEventListener('click', function (event) { console.log(event); }, false);
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
var ul = document.getElementsByTagName('ul').item(0); ul.addEventListener('click', function (event) { alert('点击小茗Ub生活网'); }, false);
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
var ul = document.getElementsByTagName('ul').item(0); ul.addEventListener('click', function (event) { // alert('点击小茗Ub生活网') console.log(event.currentTarget);//事件添加者 // console.log(this === event.currentTarget); console.log(event.target);//事件的触发者,点击谁就是谁 }, false);
运行实例 »
点击 "运行实例" 按钮查看在线实例
模仿留言板案例:
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小茗Ub生活网留言板</title> </head> <body> <label for="comment">在此输入留言:</label> <input type="text" id="comment" autofocus> <ul id="list"> </ul> <script> var comment = document.getElementById('comment'); var list = document.getElementById('list'); // 监听内容 comment.addEventListener('keypress', addComment1, false); function addComment(event){ // 事件对象 console.log(event.key); if(event.key === 'Enter'){ var item = document.createElement('li'); item.innerText = comment.value; list.appendChild(item); // 清空留言框 comment.value = null; } } function addComment1(event){ // 事件对象 console.log(event.key); if(event.key === 'Enter'){ var item = document.createElement1('li'); item.innerText = comment.value; if(list.childElementCount === 0){ list.appendChild(item); } else { } // 清空留言框 comment.value = null; } } </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例