我正在将 POST 数据从文本框发送到 PHP 页面进行处理。 AJAX 用于文本框事件,而不是用户单击保存按钮。
我在使用 onChange
还是 onKeyUp
之间左右为难。
OnKeyUp
需要在服务器上进行更多处理,因为对于每个按键,我的脚本都必须访问数据库并进行更改。服务器性能可能是一个问题。
OnChange
是首选,因为它仅在用户完成盒子操作时发送更改。但是,存在一个问题,如果用户不取消选择文本框,则 onChange
事件不会发生,因此不会保存更改。
哪个最好?或者有没有办法在用户不取消选择该框的情况下强制执行 onChange
?
最佳答案
你甚至可以使用KeyUp按下ajax调用,怎么样? 只需在 keyUp 事件上添加delayKeyUp 函数,并且delayKeyUp 函数具有setTimeout 方法,这将真正帮助您解决服务器处理问题,
注意:这一次只适用于一种方法。
例如。代码:
更新:
$("selector").live('keyup', function(e) { //if jquery v1.7 or more then you can use .on event instead of .live
delayKeyUp(function(){ ---Your Server Call Stuff -----}, 350); //delay of 350ms.
return false;
});
var delayKeyUp = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
关于javascript - 使用 AJAX 查询进行按键按下与更改时比较 : which is better?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858069/