jQuery更改事件被调用两次
我有一个输入和选择框的表单,每个都有class="myClass"
。我也有以下脚本:jQuery更改事件被调用两次
$(document).ready(function() {
$(".myClass").change(function() {
alert('bla');
})
});
我不明白为什么在选择框或输入框每次更改后,这个函数被调用两次。 这里有什么问题?
感谢您的帮助!
我只能想到的是,你在窗体本身使用相同的类。如果是这样,请从表单标记中删除myClass样式。
更正: http://jsfiddle.net/rY6Gq/1/
不完善的双重警报: http://jsfiddle.net/rY6Gq/
尝试在Firebug调试代码,而不是报警。它可能是失去焦点,并返回它导致出现两个变化时,没有两个发生
加上我知道这发生在一个朋友,但我不知道他在当时使用的是什么浏览器 – 2011-03-28 20:32:41
它发生在同一个类或任何你绑定的属性也具有相同名称父或子时。显然,当你改变一个孩子的时候,父母也会发生变化(孩子的变化)。如果他们具有相同的类别或属性,则应该触发两次。 例如,如果绑定到“myClass”,那么它将被调用两次。
<div class="myclass">
<select class="myClass"> </select>
</div>
非常感谢,因为它是一个解决方案。在我的情况下,selectpicker生成一个与我的初始选择标记相同的类 – syler 2016-04-29 07:51:01
e.stopImmediatePropagation前加
$("#some_id").unbind('change');
();是什么为我工作。
$(document).ready(function() {
$(".myClass").change(function(e) {
e.stopImmediatePropagation();
alert('bla');
})
});
显示您的wntire表单代码 – fl00r 2011-03-28 20:29:15
正如fl00r所示,这将有助于您查看更多的代码。双重函数调用通常是无意中将您的处理程序连接两次的症状。 – Ender 2011-03-28 20:34:13
谢谢你,Uberstein只是向我展示了我的错误 – Israel 2011-03-28 20:42:43