现在的位置: 首页 > 综合 > 正文

js多个对象绑定一个事件的方法

2013年09月01日 ⁄ 综合 ⁄ 共 682字 ⁄ 字号 评论关闭
 

关于一个对象绑定多个事件的方法之前转载过一篇文章,讲这方面的文章也比较多,但是在多个对象上绑定同一事件的问题困扰了我许久,今天终于找到了解决方案,两中方法都是基于JQuery实现的:

方法一:

首先获取三个要绑定事件的对象,var a = $("#a"), b = $("#b"),c = $("#c");

用JQuery的add方法实现:

a.add(b).add(c).bind("event",function(e,data){ alert("bind success");});

当然事先你应该trigger一个“event”事件.这里可以用click事件测试而无须trigger:

a.add(b).add(c).click(function () { alert("test"); };

add方法描述 添加一个新元素到一组匹配的元素中,并且这个新元素能匹配给定的表达式。

方法二:

通过JQuery的each方法遍历添加,将事件绑定在所有被遍历的对象上:

$("div").each(function(){ $(this).click(function(){alert('test');}); });

each方法描述:以每一个匹配的元素作为上下文来执行一个函数。

当然除了以上两种方法也可以使用原始的循环方法进行多对象绑定,创建一个对象数组然后循环添加,原理其实和方法一差不多:

var array = [a,b,c];

for(var i=0;i<array.length;i++) { array[i].bind("event",function(e,data){ alert("bind success");)});

抱歉!评论已关闭.