jquery总结起来就是对dom、事件处理、ajax的简化,今天给大家介绍下jquery中事件处理中的委托机制。
什么是事件委托?
事件委托其实利用了事件冒泡机制(当事件发生后,这个事件就要开始传播(从里到外或者从外向里),简单点来说,比如我们常见的onclick、keydown、keyup等一系列的用户操作绑定给其他元素来做(本应该由这个元素来操作的),这就是事件委托。
为什么不直接操作元素,而用事件委托来操作元素呢?
一:性能原因
如果一个父级元素里子元素太多的时候,为每个子元素进行独立绑定事件处理的话,无疑是浪费了很大的页面性能。所以利用委托机制来处理是最佳的选择。
二:为动态生成的元素,在不可预见的页面,比如我们常见的点击生成更多的页面,这种通常通过ajax去请求获取新的html元素的时候,我们无法在事前就给予事件的绑定,只能委托父级元素来操作。
委托父级元素动态添加dom元素
jquery如何进行事件的委托处理?
jquery的.on方法内置了委托管理能力,代码如下:
html代码:
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</body>
jquery代码:
$(function () { $("ul").on("click","li",function () { alert(1); }) }); li的代码就可以巧妙的委托给ul代为处理。对于事件委托处理,想必大家都有自己的解决方案。欢迎大家往下留言探讨。大唐传易是专门从事实战IT编程的博客网站,欢迎大家关注并订阅!