js多个对象绑定一个事件的方法
发布时间:2015-12-24, 19:18:46 分类:HTML | 编辑 off 网址 | 辅助
正文 925字数 524,645阅读
关于一个对象绑定多个事件的方法之前转载过一篇文章,讲这方面的文章也比较多,但是在多个对象上绑定同一事件的问题困扰了我许久,今天终于找到了解决方案,两中方法都是基于JQuery实现的:
方法一:
首先获取三个要绑定事件的对象,
var a = $("#a"), b = $("#b"),c = $("#c");
Run code
Cut to clipboard
用JQuery的add方法实现:
a.add(b).add(c).bind("event",function(e,data){ alert("bind success");});
Run code
Cut to clipboard
当然事先你应该trigger一个“event”事件.这里可以用click事件测试而无须trigger:
a.add(b).add(c).click(function () { alert("test"); };
Run code
Cut to clipboard
add方法描述: 添加一个新元素到一组匹配的元素中,并且这个新元素能匹配给定的表达式。
方法二:
通过JQuery的each方法遍历添加,将事件绑定在所有被遍历的对象上:
$("div").each(function(){ $(this).click(function(){alert('test');}); });
Run code
Cut to clipboard
each方法描述:以每一个匹配的元素作为上下文来执行一个函数。
当然除了以上两种方法也可以使用原始的循环方法进行多对象绑定,创建一个对象数组然后循环添加,原理其实和方法一差不多:
var array = [a,b,c];
for(var i=0;i<array.length;i++) { array[i].bind("event",function(e,data){ alert("bind success");)});
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 1 条评论 »
$(" checkbox").bind('click', { obj: this }, function (event) {
ShowRegionCheckBoxList(event.data.obj);
})