JS事件机制:事件绑定、事件监听、事件委托(事件代理)
2017-12-07 11:43
711 查看
JS 对于用户的操作做出响应,就必须对DOM元素绑定事件处理函数
2、在js代码中绑定事件
element.addEventListener(event, function, useCapture)
event : (必需)事件名,支持所有 DOM事件 。
function:(必需)指定要事件触发时执行的函数。
useCapture:(可选)指定事件是否在捕获或冒泡阶段执行。true,捕获。false,冒泡。默认false。
*事件监听优点:*
事件监听可以绑定多个事件,可以解除相应的绑定
*事件委托优点:*
可以动态的为新添加的DOM元素添加事件
事件绑定
1、在DMO中直接绑定事件<input type="button" value="click me" onclick="hello()"/> <script> function hello(){alert("Hello world!");} </script>
2、在js代码中绑定事件
<input type="button" value="click me" id="btn" /> <script> document.querySelector("#btn").onclick = function(){ alert("Hello world!"); } </script>
事件监听
语法:element.addEventListener(event, function, useCapture)
event : (必需)事件名,支持所有 DOM事件 。
function:(必需)指定要事件触发时执行的函数。
useCapture:(可选)指定事件是否在捕获或冒泡阶段执行。true,捕获。false,冒泡。默认false。
<input type="button" value="click me" id="btn" /> <script> document.querySelector("#btn").addEventListener("click",function(){ alert("Hello world!"); }); </script>
*事件监听优点:*
事件监听可以绑定多个事件,可以解除相应的绑定
事件委托
事件委托:利用冒泡原理,将事件加到父元素或者祖先元素上<div id="parent"> <span id="item_1">呵呵哒</span> <span id="item_2">呵呵哒</span> <div id="item_3">呵呵哒</div> <p id="item_4">呵呵哒</p> </div> <script> document.querySelector('#parent').addEventListener('click',function(e){ //e.target 被点击的元素 if(e.target && e.target.nodeName == 'SPAN'){ var idName = e.target.id; console.log(idName + "was clicked!"); } }); </script>
*事件委托优点:*
可以动态的为新添加的DOM元素添加事件
相关文章推荐
- js事件绑定、事件监听、事件委托
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 中的事件绑定、事件监听、事件委托是什么?
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 事件绑定、事件监听、事件委托详细介绍
- JS 事件绑定、事件监听、事件委托详细介绍
- js 绑定事件 处理机制 监听机制
- JS 中的事件绑定、事件监听与事件委托
- js中的事件委托机制(解决动态生成的dom元素无法绑定事件的问题)
- js事件冒泡、事件绑定、事件监听、事件委托
- js---JavaScript中的事件委托/事件代理,如何通过事件委托进行异步DOM事件监听
- JS 中的事件绑定、事件监听、事件委托
- js中的事件委托或是事件代理详解
- js给每个li绑定不同事件(事件委托技术)
- js事件委托、事件代理
- 利用事件委托解决js元素添加后未响应绑定事件问题
- js中的事件委托或是事件代理详解