所以我有代码:
function randomClick(interval){
$(".thumbnail_holder .nav li:not(.empty):eq("+select+") a").trigger("click");
window.randomTimer = setTimeout("randomClick("+interval+")", interval);
}
Run Code Online (Sandbox Code Playgroud)
我需要它,所以当用户点击时".thumbnail_holder .nav li a,它会清除间隔,例如
$(".thumbnail_holder .nav li a").on("click", function(e){
e.preventDefault();
clearTimeout(window.randomTimer);
});
Run Code Online (Sandbox Code Playgroud)
但是上面的代码也发生在.trigger("click");.
这个.on功能有什么办法可以区分两者吗?
e.which当事件被调用时将被定义trigger(),但是1当你左键单击它时.
$(".thumbnail_holder .nav li a").on("click", function(e){
e.preventDefault();
if (typeof e.which !== "undefined") {
clearTimeout(window.randomTimer);
}
});
Run Code Online (Sandbox Code Playgroud)
其他选项是在手动触发时传递一些数据,并在事件处理程序中检查它(参见中的extraParameters参数)trigger().
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);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |