2012-07-24 50 views
0

我有这种形式,您可以在输入字段中输入内容并添加了onchange事件侦听器,以在值更改时发出警报。显然,代码在Chrome中可用,但在Firefox它不起作用,如果我们重新输入相同的文本。当相同的输入被重新输入时,jQuery on change不会触发

例如:

1st try - >输入文本 - >您好。 (警报作为文本更改)。 第二次尝试 - >输入文本 - >你好。 (再次)(在更改事件不被调用)。

有谁能告诉我为什么会发生这种情况?预先感谢您的时间:)。

这是一个jsfiddle。

http://jsfiddle.net/neoragex/6yMsf/1/

+0

我已经尝试过你的小提琴在Firefox中,它似乎工作......奇怪..它只是应该显示弹出窗口它说:“文字改变”? – ClydeFrog 2012-07-24 08:38:06

+0

我可以证实。 – reporter 2012-07-24 08:40:21

+0

在Chrome和Firefox中观察到相同的行为 – jaychapani 2012-07-24 08:40:45

回答

0

您可以处理模糊事件。即使价值相同,它也会被解雇。

0

由于事件只有当输入字段的值更改火灾 - 你又设置相同的值,所以没有发生变更至于浏览器而言。

+0

有没有办法让onchange事件触发每个输入?你回复:) – Knowledge 2012-07-24 08:41:17

+0

正如varela建议的那样,使用blur事件 - 它会触发而不管值。您可以添加一个检查以确保该值不为空或空为确保。 – djeglin 2012-07-24 08:42:58

0
$(function() { 
    $('input[type=text]').on('blur',function() {  
     alert($(this).val()); 
    });  
});​ 
0

尝试使用keyup事件。这个事件在按键时触发。

相关问题