jQuery事件绑定的简要概述及应用 打开()
前几天看《jquery基础教程》。看到事件委托的时候,没有详细讲live()方法,就去搜索了一下live()和delegate()。然后我看到live()在一个地方被删除了,然后我去看最新的jq源代码,就被删除了。现在是1.9.1版本。不知道之前删除了哪个版本的live()。真遗憾,我以前没注意。查看源代码,发现bind()和delegate()都是由on()实现的。On()描述如下:复制代码如下:on (events [,selector] [,data],handler (eventobject))一个简单的事件绑定,比如$ ('button ')。on ('click ',function(){ });它与bind()没有什么不同。当事件需要绑定更多元素时,优先考虑事件委托可以带来性能上的好处。例如:
如上所示,click事件被绑定到文档对象,页面上任何元素的click事件都被冒泡到文档对象中进行处理。请注意的描述中的第二个可选参数。on():选择器。如下图所示,添加了第二个参数,选择器按钮:。
结果:
当事件冒泡到文档对象中时,检测事件的目标,如果与传入的选择器(此处为按钮)匹配,则触发事件,否则不触发。请注意。on()还可以接收属性为事件类型、属性值为事件处理程序的对象参数。下面是一个官方文件的例子:。
最后,在原来的live()方法中,处理函数默认绑定到文档对象,不能更改。如果DOM嵌套结构很深,通过大量祖先元素冒泡的事件将导致更大的性能损失。使用。on()方法,事件只会绑定到$()函数的选择器表达式匹配的元素上(在我上面的例子中,只是简单的绑定到文档上),这样就可以准确定位页面的某个部分,减少事件冒泡的开销。Delegate()和on()一样,毕竟是用on (): 实现的。
版权声明:jQuery事件绑定的简要概述及应用 打开()是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。