當我正在尋找一種方式來觸發,當你輸入每2分鐘的情況下,在任何input
或textarea
。觸發事件每2分鐘打字
如果您然後再停止輸入,則該事件將在兩分鐘的剩餘時間內再次發生。 (希望你能理解)
這是非常相同的功能的一個WordPress的使用,當草案自動保存每分鐘一次。
我不是WordPress專家,所以我找不到他們在腳本中使用的功能。
這是我到目前爲止有:
$("input, textarea").keyup(function() {
var minutes = 2;
var time = minutes * 60000;
setInterval(function() {
// Do event here
}, time);
});
它不工作那麼好。如果您輸入的字符數很多,則會立即觸發多次事件。即使您單擊Ctrl,箭頭鍵.....也不會觸發事件。
我似乎無法找到檢測,當用戶已經停止打字的好方法。
我發現這個代碼,但我不知道怎麼跟我使用的其他代碼中使用它,沿着:
//setup before functions
var typingTimer; //timer identifier
var doneTypingInterval = 5000; //time in ms, 5 second for example
//on keyup, start the countdown
$('#myInput').keyup(function(){
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
//on keydown, clear the countdown
$('#myInput').keydown(function(){
clearTimeout(typingTimer);
});
//user is "finished typing," do something
function doneTyping() {
//do something
}
有人可以幫我嗎?
這工作很不錯:)。現在唯一的事情是,只有在事件發生後才能更改文本。現在,如果你點擊箭頭鍵或任何其他鍵,事件將被觸發。 – TheYaXxE
@TheYaXxE您可以使用'input'事件而不是'keyup',但這隻適用於現代瀏覽器。'$('input,textarea')。bind('input',function(){...}) ;'更多請參閱https://developer.mozilla.org/en-US/docs/Web/Reference/Events/input?redirectlocale=en-US&redirectslug=DOM%2FMozilla_event_reference%2Finput –
哇。這似乎工作完美..謝謝:D – TheYaXxE