【发布时间】:2011-05-25 13:27:37
【问题描述】:
我有以下带有 onchange 事件的选择元素。
<select name="ftest" onchange="alert('test');">
<option value="0"></option>
<option value="test">test</option>
</select>
我稍后使用 jQuery (1.4.4) 在页面中的所有选择元素上绑定另一个事件。
$("SELECT").change(function(){
_isDirty = true;
});
结果是,当我更改选择列表的值时,我的警报会显示两次。
有人知道为什么会发生这种情况或有办法解决这个问题吗?
谢谢
【问题讨论】:
-
不确定您在做什么,但它在 Chrome、Firefox 和 Safari(最新版本,Mac OS X 10.6)中完美运行:jsfiddle.net/HSdBf/1。所以我认为它与您代码中的其他内容有关。也许你在某个地方打电话给
$(something).change(),或者这是一个IE问题(真令人惊讶)。 -
你是说将处理程序与 jQuery 绑定的行为会导致内联处理程序被调用两次吗?
-
是的,当我用 jQuery 绑定处理程序时出现问题,是的,我使用的是 IE8。
-
你为什么使用 jQuery 库并编写内联 javascript?你需要从不再次ever ever内联编写javascript。将所有内容放入
-
我知道...这是旧代码,我真的别无选择。我想我会放弃 jQuery 并像过去一样做这项工作。 :)