【问题标题】:chrome fires change event twice after enter key pressed and blur eventchrome 在输入键按下和模糊事件后触发两次更改事件
【发布时间】:2013-04-22 04:50:59
【问题描述】:

我有一个文本<input>,当它被归档时,我想触发更改事件。更改事件由以下方式触发: 1. 在文本字段外单击(使其失去焦点)或 2. 按回车键(使文本字段保持焦点)

我不想让文本字段成为焦点,所以我使用 .blur() jQuery 来解决这个问题:

$(document).on("change", "input.quantity", function()
{   
    alert('Changed!');
    $(this).blur(); 
});

当我在 Firefox 中测试时一切顺利 但是当我在 chrome 中对其进行测试时,更改事件会触发两次,我会收到两个警报。

只有在按下回车键时才会发生。

如果我删除 $(this).blur(); 更改事件只会触发一次。

代码是here

这可能是一个 chrome 错误,但如果有人知道如何解决这个问题,那将是一个很大的帮助

【问题讨论】:

    标签: jquery google-chrome onchange blur


    【解决方案1】:

    试试这个代码,不是正确的解决方案,但会解决您面临的问题:

    $(document).on("change", "input.quantity", function(e)
    {
        alert('Changed!');
        var $ele = $(this);
        setTimeout(function() {$ele.blur();}, 50);
    });
    

    更新小提琴:http://jsfiddle.net/rqFAH/1/

    【讨论】:

    • 非常感谢。你的解决方案足够了
    猜你喜欢
    • 2011-12-20
    • 2012-06-25
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多