我正在寻找一种以2input
或3键入时每2分钟触发一次事件的方法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
}
有人可以帮帮我吗?
您不应该使用setInterval
but,setTimout
并且仅在第一个运行后才产生一个新的。
var saveTimer = null,
minutes = 2,
time = minutes*60000;
$("input, textarea").keyup(function () {
if (!saveTimer){
saveTimer = setTimeout(function() {
alert("Hello");
saveTimer = null;
}, time);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句