jquery触发两次onchange事件
Posted 梁凤财Zeno
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery触发两次onchange事件相关的知识,希望对你有一定的参考价值。
在项目中需要给select绑定改变事件,来触发动作,但是发现改变一次select,onchange方法执行两遍
//公告类别的变更时间联动公告模板
$("#test").change(function () {
alert(1);
})
后来给select 标签添加一个onchange属性也会触发两次,这个onchange时间的机制是,在获取焦点之后,储存一个select里面的值,当发现这个值改变的时候,触发onchange事件
目前仅在IE8下发现此类问题,我仅测试了IE8/Chrome25/Firefox19
网上说可以通过一个全局变量控制来拒绝,不过方法很笨,还有一种方法就是用settimeout
$(‘#test1‘).bind("change", function(){
$(this).unbind("change",thatFun);
//you can do something here
alert(this.value);
//rebind again
setTimeout(function(){$(that).bind("change",thatFun)},0);//why use setTimeout? sorry, I don‘t know...
});
以上是关于jquery触发两次onchange事件的主要内容,如果未能解决你的问题,请参考以下文章
为啥prop()不会触发带有jquery的收音机的onchange事件[重复]
使用 javascript/jquery 触发 onchange 事件时更新 DOM 中的哈希值