所以我有代码:
function randomClick(interval){
$(".thumbnail_holder .nav li:not(.empty):eq("+select+") a").trigger("click");
window.randomTimer = setTimeout("randomClick("+interval+")", interval);
}
我需要它,所以当用户点击
".thumbnail_holder .nav li a
时,它会清除间隔,例如$(".thumbnail_holder .nav li a").on("click", function(e){
e.preventDefault();
clearTimeout(window.randomTimer);
});
然而,上面的代码也发生在
.trigger("click");
上。.on
函数有什么办法可以区分这两者吗? 最佳答案
当 e.which
调用事件时, trigger()
将是未定义的,但是当您左键单击它时, 1
将是 extraParameters
。
$(".thumbnail_holder .nav li a").on("click", function(e){
e.preventDefault();
if (typeof e.which !== "undefined") {
clearTimeout(window.randomTimer);
}
});
其他选项是在手动触发时传递一些数据,并在事件处理程序中检查它(请参阅
trigger()
中的 ojit_code 参数。function randomClick(interval){
$(".thumbnail_holder .nav li:not(.empty):eq("+select+") a").trigger("click", [true]);
window.randomTimer = setTimeout("randomClick("+interval+")", interval);
}
$(".thumbnail_holder .nav li a").on("click", function(e, wasTrigger){
e.preventDefault();
if (!wasTrigger) {
clearTimeout(window.randomTimer);
}
});
关于javascript - jQuery识别来自用户的点击,而不是触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10783197/