我想延遲.keypress()
方法在jQuery中的操作一段時間。JS按鍵延遲
我看着像解決方案:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
和setInterval
,setTimeout
方法很好,但在第一變型中凍結entiry頁我真的不想做的事。在第二個我不知道如何將我的腳本包裝到這些功能。
我的代碼示例:
$(document).ready(function() {
//some code
$(document).keypress(function(event){/*...this fragment I want to be freezed*/});
});
問題的解釋:
比方說,我有一個簡單的計數器,它在keypress
事件處理計數多少次輸入按鈕被用戶按下。第三次點擊後,我希望頁面不會響應用戶按下5秒鐘而不凍結整個頁面(用戶仍然可以點擊某個<button>
等等。但任何鍵盤上的按鍵都將不起作用,直到5秒左右(凍結keypress
事件處理程序)。
你的第一個代碼段是一個繁忙的循環 - 而它的等待延時過去就掛一個核心100%。你永遠不應該那樣做。四處尋找事件*限制*以獲得主要問題的答案。 –
林不知道這是否會工作,但試試這個:'$(document).delay(5000).keypress(function(){};);' – Manu
@Manu它不會工作。 – JJJ