jQuery事件绑定和委托实例
本文给出了jQuery事件绑定和委托共享的示例,供您参考:jQuery事件的绑定和委托可以以多种方式实现,比如()、绑定()、活()、委托()和一()。
有时我们可以绑定这样的事件:
复制代码如下:$(# DIV1)。Click(function(){){
警报(触发器之后单击);
});
上面的事件绑定可以以多种方式实现:
1。在()
将代码复制如下:无数据
$(p)。
警报($(this))文本());
});
数据/参数
功能myhandler(事件){
警报(事件,数据,数据);
}
$(p)。
在()对应于关闭(),用于删除事件绑定:
复制代码如下:var =函数(){()
用于处理某一类事件的代码
};
现在富将是…单击段落时调用…
$()。
富将不再是…
$()。
关闭():在()上删除的绑定
一():仅绑定一次。
2。绑定()
参数:
(类型,{数据},功能(间的事件))
类型:包含一个或多个事件类型的字符串,它们将多个事件与空间分隔开。例如,单击或提交
一个额外的数据对象,数据是作为一个event.data属性值传递给事件对象
FN的处理函数:绑定到每个匹配元素的事件
(类型,{数据},false)
类型:包含一个或多个事件类型的字符串,它们将多个事件与空间分隔开。例如,单击或提交
一个额外的数据对象,数据是作为一个event.data属性值传递给事件对象
将第三个参数设置为false将使默认操作无效:。
同时绑定多个事件类型:
The copy code code is as follows: $('#foo').Bind ('mouseenter mouseleave', function () {() {)
$(这)ToggleClass('entered);
});
同时绑定多个事件类型处理程序:
复制代码代码如下:$(按钮)。Bind({
(点击:功能){ $(p)(SlideToggle);},
(鼠标悬停:功能){ $(体),Css(背景颜色
(mouseout:功能){ $(体),Css(背景颜色
});
在事件处理之前,您可以传递一些额外的数据。
复制代码代码如下:函数处理程序(事件){
警报(事件,数据,数据);
}
$(p)。Bind(单击
取消默认行为,并通过返回false防止事件发生泡沫。
复制代码如下:$(表单)。Bind()
捆绑中存在的问题
如果你想将表格中的点击事件绑定到10列和500行,那么搜索和遍历5000个单元格将导致脚本执行速度慢,并保存5000个TD元素,相应的事件处理程序将占用大量内存(类似于让每个人都表示自己站在门口)。
基于这个例子的前面,如果我们想实现一个简单的相册应用程序页面只显示50照片缩略图(50细胞),用户点击X页(或下一页)通过AJAX链接服务器可以动态加载其他50张照片。在这种情况下,它似乎是可接受的使用。绑定()50细胞结合事件的方法。
事实上not.using.bind()方法只会点击50细胞在第一页点击事件,不会有点击事件在细胞负载在随后的页面动态。换句话说,(。绑定)只把它当现有元素绑定事件,不是因为新的元素绑定事件未来(类似新员工不接受快递)。
事件委托可以解决上述两个问题,具体到代码中,只需使用jQuery 1.3新的Live()方法,而不是绑定()方法:
复制代码如下:$(# info_table TD)。活(点击),功能({ / *显示更多的信息