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事件

原文地址:http://www.cnblogs.com/ZenoLiang/p/7262639.html


最新回复(0)
/jishu0eVDzqXnlCuFGUsNIKjLECJ0SOIqwVP5nPP0gg_3D_3D4719331
8 简首页