javascript - 使用 AJAX 查询进行按键按下与更改时比较 : which is better?

标签 javascript php jquery ajax jquery-events

我正在将 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/

相关文章:

php - 为程序风格使用准备好的语句

javascript - setAttribute() 不起作用?

javascript - 如何从 Angular 构建中排除文件类型?

php - 如何使用 Laravel 框架执行 MySQL 查询?

php - 将数据库中的数据显示到下拉菜单 CodeIgniter

jquery - 在jquery中使用html2canvas将html元素导出到Png文件时如何设置自定义文件名?

javascript - 如何在node.js中创建传输流?

javascript - Protractor js 测试工作流程

javascript - 使用 js 或 jquery 将超链接更改为其他内容

jquery - 对制作移动友好的导航有点困惑