【问题标题】:jQuery keypress doesn't detect CTRL + VjQuery 按键未检测到 CTRL + V
【发布时间】:2013-11-04 06:11:58
【问题描述】:

在文本框上按下时,按键不会检测到CTRL + V。我见过与我类似的post。但是我们有不同的实现。如果用户空闲输入 1.5 秒,我想触发 ajax 请求。

$(document).ready( function() {
    $(document).on('keypress', '#subject-name', function() {
        updateTimeOut( this, checkSubject );
    });   
});

updateTimeOut() 方法是这样的:

var updateTimeOut = function( textBoxObject, ajaxCall ) {
                         if (timeoutReference) clearTimeout(timeoutReference);
                         timeoutReference = setTimeout(function() {
                                doneTyping.call( textBoxObject, ajaxCall );
                         }, 1500);
                    };

我的问题是。最好使用change 不是更好地完成我的任务吗? change 也可以做间隔检查吗?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    是的,您想知道值何时发生变化,无论它是如何发生的,无论是否按键(例如,右键单击文本框并左键单击粘贴)。

    这应该适合你

    $(function() {
        $(document).on('input', '#subject-name', function() {
            updateTimeOut(this, checkSubject);
        });   
    });
    

    仅供参考,$(function() {})$(document).ready(function() {}) 的简写。

    【讨论】:

    • 文本框由bootstrap动态生成。我可以用它绑定一个事件吗?
    • 我明白了。经过一些研究,我发现 change 事件仅在您关注文本框后才会触发。如果我需要所有更改(包括打字时),我应该使用什么?
    • 更多研究发现了现代浏览器(不是 IE 8 或更低版本)上的 input 事件。
    • 我没听懂。你是什​​么意思?
    猜你喜欢
    • 2014-09-27
    • 2015-12-07
    • 1970-01-01
    • 2017-07-31
    • 2011-02-23
    • 2019-01-05
    • 2019-09-07
    • 2013-12-16
    相关资源
    最近更新 更多