这是我的代码:
var b = $(slipStream.conf.mainVis).find('p#prev');
b.click(function() {
slipStream.slideLeft();
return false;
});
b = $(slipStream.conf.mainVis).find('p#next');
b.click(function() {
slipStream.slideRight();
return false;
});
b = $(slipStream.conf.controls).find('li img');
console.log(b);
for (var l in b) {
l.click(function() {
var visIndex = l.index();
console.log(visIndex);
});
};
前两个绑定(bind)成功,没有问题。但我无法循环遍历集合并将某些内容绑定(bind)到每个成员? (控制台告诉我“l.click 不是函数。”)这是 jQuery 的限制还是我的代码关闭了?不过,这似乎是做到这一点的方法......
最佳答案
当您枚举 jQuery 对象时,枚举的值是实际的 DOM 节点,而不是 jQuery 包装器。因此,它们没有 click
方法,但您可以再次包装它们以获得所有常用功能。
当然这不是必需的,因为您可以直接从初始 jQuery 实例附加一个包装器:
$(slipStream.conf.controls).find('li img').click(function() {
var visIndex = $(this).index();
console.log(visIndex);
});
关于javascript - jQuery - 为什么我不能将事件绑定(bind)到循环中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583072/