2014-03-13 103 views
0

我有一個按鈕,這是像下面和一個jQuery這增加了滑塊的大小完全如何MouseDown事件添加到按鈕

<button id='plus' type="button">+</button> 

$('#plus').click(function() { 
    s.slider('value', s.slider('value') + s.slider("option", "step")); 
}); 

,但我想只要改變大小了作爲繆斯正在按下按鈕。所以我嘗試了這個,但它沒有完成這項工作! (它實際上就像點擊事件一樣)。

$('#plus').mousedown(function() { 
    s.slider('value', s.slider('value') + s.slider("option", "step")); 
}); 

請問我可以讓我知道如何在jQuery中做到這一點?

+0

您的代碼似乎確定,可你移動你的整個頁面jsFiddle並添加鏈接? –

回答

1

我只是明白,你想要的東西連續發生,而按下按鈕下來。

看到this answer

主要的想法是,當按鍵時開始的時間間隔,這將做更新的每一輪,並在釋放按鈕時,這個時間間隔將停止。

例如:

var timeout, clicker = $('#plus'); 

clicker.mousedown(function(){ 
    timeout = setInterval(function(){ 
     // Do something continuously 
     s.slider('value', s.slider('value') + s.slider("option", "step"); 
    }, 500); 

    return false; 
}); 

$(document).mouseup(function(){ 
    clearInterval(timeout); 
    return false; 
}); 

希望幫助。

+0

感謝Gal V,但同樣的事情發生 –

+0

@MonaCoder iv'e編輯了我的答案,現在我更瞭解你。 – geevee

+0

感謝Gal現在正在工作!對不起,我需要6分鐘才能接受你的答覆作爲正確的答案 –

1

嘗試

$('#plus').bind('mousedown', function() { s.slider('value', s.slider('value') + s.slider("option", "step")); 
}); 

OR

$('#plus').on('mousedown', function() { s.slider('value', s.slider('value') + s.slider("option", "step")); 
}); 
+0

嗨Sajad,這也行不通! –

0

bind使用on應該是更好的解決方案被棄用:

$('#plus').on('mousedown', function() { 
    s.slider('value', s.slider('value') + s.slider("option", "step")); 
});