我爲我的項目菜單使用了一個迂迴腳本。菜單項點擊後我有一些操作。我想在此選定項目點擊第二次後觸發此操作/功能。你能幫我怎麼做嗎?如何在項目中點擊兩次後啓動功能?
這是我的函數的開始:
$('.main_content ul li').bind({click: function(){
我爲我的項目菜單使用了一個迂迴腳本。菜單項點擊後我有一些操作。我想在此選定項目點擊第二次後觸發此操作/功能。你能幫我怎麼做嗎?如何在項目中點擊兩次後啓動功能?
這是我的函數的開始:
$('.main_content ul li').bind({click: function(){
一種方法是手動取消第一次點擊:
$('.main_content ul li').click(function() {
if(!$(this).data('clicked-once')) {
$(this).data('clicked-once', true);
return; // cancel first execution
}
// handler body here
});
另一個,或許更簡潔,將使用one
方法結合聽衆:
$('.main_content ul li').one('click', function() {
$(this).click(function() {
// handler body here
});
});
當然,如果它是實際雙擊,您嘗試聽,你應該使用dblclick
事件Tats_innit建議。也就是說,如果你只想連續點擊兩次點擊事件。通過雙擊,三次快速點擊只會觸發一次該功能,並且通過上述解決方案,它會觸發兩次。通過雙擊,兩次點擊之間有一些延遲並不會導致函數根本無法觸發,而上面的方法會導致它觸發一次。
API:http://api.jquery.com/dblclick/
綁定的事件處理程序 「DBLCLICK」 JavaScript事件,或者觸發元素上的事件。
希望它可以幫助你的事業:)
代碼
$('.main_content ul li').dblclick(function(){
});
雖然doubleclick與兩次點擊並不完全相同。 – 2012-07-31 08:27:46
確實@DavidHedlund我同意布魯夫! ':''給你/生活?看來OP正在尋找dblclick而不是任何基於類的解決方案。 – 2012-07-31 08:33:09
編輯忽略此並使用Tats_innit的答案。我很遺憾地沒有意識到jQuery的dblclick功能。
(function(){
var state = false;
$('.main_content ul li').click(function(){
if(state === false) state = true;
if(state){
state = false;
//do other stuff here
}
});
});
+1反正男人!玩得開心':)' – 2012-07-31 08:34:42
您可以使用jQuery的toggle event helper,並且只綁定一個函數。東西線:
function iWantThis2bCalled()
{
}
$("#someId").toggle(function(){}, iWantThis2bCalled);
喲布魯夫我認爲你正在把它放在一個'')''可能或可能不正確值得解釋一下':)' – 2012-07-31 08:35:56
雖然這並不妨礙第一次點擊,但是每一次第二次點擊。五次點擊= 2次執行'iWantThis2bCalled'。 – 2012-07-31 08:40:18
給你+1以及bruv! ':)' – 2012-07-31 08:35:06
不錯,thx男人它的工作很好,corectly,chears和伏特加爲你拍攝! ;) – Lukas 2012-07-31 08:42:31