2012-04-19 69 views
0

我有一个AJAX系统设置,帮助用户选择一个状态,然后选择相应的城市和邮编。jquery .change事件选择标签在奇怪的铬上工作

问题是.change()事件不适用于chrome。只要我用我的鼠标做任何工作,它都很好,但是当我切换到键盘时,它就会死亡。键盘上的每次点击都会触发.change()事件。

相同的脚本在Firefox中正常工作。在这里工作的鼠标和铬一样。但是当我使用键盘时,它不会触发.change()事件。它会在模糊或按下输入键时触发它。

我正在寻找chrome的解决方法,以便它可以像Firefox一样工作。

我还没有测试过其他浏览器。

编辑:
我不愿意用.blur().click()事件,这将是更痛苦的普通用户,因为如果错误他们点击或跳过一个选择的标签不改变AJAX将被再次触发值。

我的代码都很好。

$('#state').change(function(event) {}); 

这条线应该在变化的事件工作,它直到我用我的键盘上的铬。

+2

请张贴您的代码。 – 2012-04-19 08:30:44

回答

1

为什么不绑定更改和按键事件,并应该让你在所有的浏览器上工作..因此定义你的回调函数,而不是匿名。

function changeCallback(){} 

$("#state").change(changeCallback).keypress(changeCallback); 
+0

你也可以使用'.bind()'使它们都有。 – 2012-04-22 11:50:41

+0

我不想让它们都有。我想停止触发变化事件,如果它也是一个keydown事件。 – abhig10 2012-05-01 12:40:23