我正在研究如何构建能够检测按键的内容以限制功能。
类似的东西:
var LastKeyPress;
function hitTheServer() {
if LastKeyPress > 2 seconds ago {
hit the server and do stuff
LastKeyPress = now();
}
}
你怎么看?也许这是内置于jQuery?此外,它可能会用于许多功能,并且让它在全局工作可能会很有趣,因此我可以使用更少的代码并应用于多个功能。想法?
由于
答案 0 :(得分:1)
我会这样说:
var LastKeyPress;
function hitTheServer(){
n = new Date().getSeconds();
if (LastKeyPress == undefined || LastKeyPress > n+2){
//Code
LastKeyPress = n;
}
}
答案 1 :(得分:1)
答案 2 :(得分:0)
使用window.setTimeout
:
// Example function to be throttled
function throttledFunction() {
alert("Two seconds since last keypress");
}
var keypressTimer = null, keypressDelay = 2000;
document.onkeypress = function() {
if (keypressTimer) {
window.clearTimeout(keypressTimer);
}
keypressTimer = window.setTimeout(function() {
keypressTimer = null;
throttledFunction();
}, keypressDelay);
};