码迷,mamicode.com
首页 > Web开发 > 详细

jquery触发两次onchange事件

时间:2017-07-31 14:49:16      阅读:556      评论:0      收藏:0      [点我收藏+]

标签:firefox   也会   func   变量   方法   全局   settime   获取   联动   

在项目中需要给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事件

标签:firefox   也会   func   变量   方法   全局   settime   获取   联动   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!