使用下面的代碼,當我點擊並按住bid-up
按鈕時,它只會經過一次代碼,我必須再次單擊它才能工作。它應該做的是重複代碼,直到mouseup或mouseleave。我做錯了什麼?mousedown不工作
$('.bid-up').live('mousedown',function() {
var button = $(this);
timeoutId = setTimeout(function(){
var number = button.parent('div').siblings('#bid-child-container-2').find('#bid-price').val();
var newnumber = number.split('.');
var on = button.attr('data-on');
button.siblings('#bid-down').attr('data-on','1');
if(newnumber[1]<9) {
var first = newnumber[0];
var second = parseInt(newnumber[1])+1;
}
if(newnumber[1]==9) {
var first = parseInt(newnumber[0])+1;
var second = 0;
}
var finalnumber = first+'.'+second;
button.parent('div').siblings('#bid-child-container-2').find('#bid-price').val(finalnumber);
}, 20);
}).bind('mouseup mouseleave', function() {
clearTimeout(timeoutId);
});
我認爲它會經過一次,因爲你使用'setTimeout' – wong2
考慮存儲'。數據超時()'不是全局的變量:'button.data('timeout',setTimeout(...));'和'clearTimeout($(this).data('timeout'))' – ThiefMaster