关于一个对象绑定多个事件的方法之前转载过一篇文章,讲这方面的文章也比较多,但是在多个对象上绑定同一事件的问题困扰了我许久,今天终于找到了解决方案,两中方法都是基于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");)});
|
js多个对象绑定一个事件的方法
最新推荐文章于 2023-11-01 20:36:28 发布
js多个对象绑定一个事件的方法
2011-07-18 15:48