2011-01-20 86 views
1

我有以下脚本,哪种作品。如何在鼠标悬停或悬停时持续重复触发器?

如果我移动鼠标光标移到一个链接“样品”,‘喀嗒’被触发。

我怎样才能实现,这个点击是不断触发的(一种循环)?

$jq('.sample a').mouseover(function(){ 
    $jq(this).trigger('click'); 
    return false; 
}); 

我尝试以下,这是不工作(点击触发一次,然后停止):

$jq('.sample a').mouseover(function(){ 
    setInterval(function() { $jq('.nav-sub-browser a').trigger('click'); }, 100); 
}); 

我也尝试了以下解决方案,我发现在计算器。但是,这也是一个触发点击一次:

function triggerClick() { 
    $jq('.nav-sub-browser a').trigger('click'); 
} 
var interval; 
$jq('.nav-sub-browser a').hover(function() { 
    interval = setInterval(triggerClick(), 100); 
}, 
function() { 
    clearInterval(interval); 
}); 

我到底做错了什么?

+0

你的3个例子都是功能不同。第一个触发自己的“点击”。第二个触发一个似乎是不同元素的“点击”。最后一个看起来更接近第一个,但可能触发几个``元素上的`click`。你究竟想要什么? – user113716 2011-01-20 15:26:43

+0

感谢您的评论。其实第一个就是我想要的那个,它实际上起作用,我只是不能连续触发点击。我尝试了下面的所有答案,但没有人工作。 – user583130 2011-01-20 16:12:07

回答

2

你试过只需点击?或者你有使用触发器的具体原因?

var myInterval = false; 
$('.sampleA').mouseover(function(){ 
    myInterval = setInterval(function(){ 
     $('.nav-sub-browser a').click(); 
    }, 100); 
}); 

$('.sampleA').mouseout(function(){ 
    clearInterval(myInterval); 
    myInterval = false; 
}); 

下面是证明一个的jsfiddle: http://www.jsfiddle.net/jbenson/dpC7W/

2

你需要传递函数引用setInterval,所以摆脱尾随()triggerClick

function triggerClick() { 
    $jq('.nav-sub-browser a').click(); 
} 

var interval; 
$jq('.nav-sub-browser a').hover(function() { 
    interval = setInterval(triggerClick, 100); 
}, function() { 
    clearInterval(interval); 
}); 
+0

谢谢你的回答。我试过了,但不起作用 - 点击只触发一次,然后没有任何反应。 – user583130 2011-01-20 16:10:20