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