propertychange ie7、8下报错“Stack overflow in line 0″

  propertychange 是ie独有事件,存在于ie7、8

  使用背景:

  1、ie7、8下radio和checkbox选中并不会触发change事件,只有表单元素失去焦点才会触发

  2、及时监听文本框输入,统计字数、自动完成、输入提示等等

  实例代码

  html代码

2015-04-08_10-12-20.png

  JavaScript

2015-04-08_10-12-55.png

 上图所示代码中给元素绑定propertychange事件,处理过程中修改属性,也会触发元素propertychange事件,然后就死循环,抛出“Stack overflow in line xx”错误

 解决办法:

1、慎用propertychange事件,上面第一种情况,可以通过click事件替代

2、确实需要用到propertychange事件,不要在事件处理中修改元素本身

在线demohttp://jsfiddle.net/7q4fupja/

发表评论

电子邮件地址不会被公开。 必填项已用*标注