我有一个文本<input>
,当它被归档时,我想要触发更改事件。change事件通过以下方式触发: 1.在文本字段外单击(使其失去焦点)或2.按enter键(使文本字段保持焦点)
我不想让文本字段成为焦点,所以我使用.blur()
jQuery来实现:
$(document).on("change", "input.quantity", function()
{
alert('Changed!');
$(this).blur();
});
当我在Firefox中测试它时,一切都很顺利,但当我在chrome中测试它时,改变事件触发两次,我得到两个警报。
只有在按enter键时才会发生这种情况。
如果删除$(this).blur();
,更改事件只会触发一次。
代码是here
这可能是一个chrome bug,但是如果有人知道如何解决这个问题,那将是一个很大的帮助。
发布于 2013-04-22 14:51:15
请尝试以下代码,这不是一个正确的解决方案,但可以解决您面临的问题:
$(document).on("change", "input.quantity", function(e)
{
alert('Changed!');
var $ele = $(this);
setTimeout(function() {$ele.blur();}, 50);
});
更新的fiddle:http://jsfiddle.net/rqFAH/1/
https://stackoverflow.com/questions/16139631
复制相似问题