我如何触发此内联功能
onClick="showMenu('mnu_searches', event, 0, this)
使用JQuery ...如果我将鼠标悬停在a.menu-arrow
上?我需要在用户将鼠标悬停在元素上2秒后触发一次点击?
非常感谢任何帮助,谢谢
答案 0 :(得分:15)
您可以创建并清除2秒计时器,如下所示:
$("a.menu-arrow").hover(function() {
$.data(this, "timer", setTimeout($.proxy(function() {
$(this).click();
}, this), 2000));
}, function() {
clearTimeout($.data(this, "timer"));
});
You can give it a try here。通过使用$.data()
我们存储超时每个元素以避免任何问题并清除正确的计时器。其余的只是在输入元素时设置2秒计时器,并在离开时清除它。因此,如果你停留2000毫秒,它会触发一个.click()
,如果你离开它会停止清除计时器。
答案 1 :(得分:0)
使用hoverIntent插件或doTimeout(更重一点)
答案 2 :(得分:0)
您应该能够在两秒钟后触发点击处理程序。我建议使用以下代码:
$(function() {
var timeout;
$('a.menu-arrow').hover(function() {
var self = this;
timeout = setTimeout(function() {
$(self).click();
timeout = null;
});
}, function() {
if (timeout) {
clearTimeout(timeout);
}
});
});