我有这段代码:
$(document).on("click", "#breadNavMain", function() {
for(var i = 0; i < getActiveSlides().length; i++) {
$("#studentWrapper").trigger("click");
}
});
方法getActiveSlides()
将返回当前为我的应用程序激活的幻灯片(作为数组)。重要的是我获得了活动幻灯片的数量。对于超过1个活动幻灯片的任何内容,上面的循环不起作用。如果我有3个活动幻灯片(例如),它只会调用.trigger()
方法一次。在我的点击处理程序中,如果我改为使用:
$("#studentWrapper").trigger("click");
$("#studentWrapper").trigger("click");
$("#studentWrapper").trigger("click");
它会正常工作。问题是我不知道有多少次我需要调用.trigger()
方法,所以我无法手动执行此操作。我想把它称为循环,就像我在上面试过的那样。无论如何让.trigger()
在循环中工作?
答案 0 :(得分:1)
它应该可以正常工作,但我怀疑getActiveSlides
方法中的某些内容是错误的。可能是在第一次单击后它没有返回正确数量的活动幻灯片。您可以将其返回值转换为变量,然后执行代码。试试这个。
$(document).on("click", "#breadNavMain", function() {
var activeSlidesLen = getActiveSlides().length;
for(var i = 0; i < activeSlidesLen; i++) {
$("#studentWrapper").trigger("click");
}
});