1

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

我不希望文本字段集中,所以我.blur()为此使用 jQuery:

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

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

仅当按下回车键时才会发生。

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

代码在这里

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

4

1 回答 1

2

请尝试使用此代码,这不是正确的解决方案,但可以解决您面临的问题:

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

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

于 2013-04-22T06:51:15.067 回答