self.attachevent is not a function的解决方法
注意原因:
window对象的attachEvent方法只在IE浏览器中有效,其它浏览器不支持这个方法,所以报错。
self.attachevent is not a function其实就是以前的代码, 没有做chrome、firefox浏览器兼容导致。
self.attachEvent("onblur",function(){dd.style.display="none"})
上面的代码在chrome浏览器肯定会报错的。
因为chrome浏览器绑定事件不支持attachevent而支持addEventListener。
下面是临时解决方法:
if(!self.addEventListener){ self.attachEvent("onblur",function(){ddd.style.display="none"}) }
但是效果会丢失,这个不报错但效果也没有了。
IE:element.attachEvent(”onclick”, func);。
FF:element.addEventListener(”click”, func, true)。
通用:element.onclick=func。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样 的,onclick只有执行一个过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。例 如:element.attachEvent(”onclick”, func1);element.attachEvent(”onclick”, func2)这样func1和func2都会被执行。
建议大家参考这篇文章的方法解决:https://www.jb51.net/article/28637.htm
- 浅谈addEventListener和attachEvent的区别
- addEventListener和attachEvent二者绑定的执行函数中的this不相同
- javascript attachEvent绑定多个事件执行顺序问题
- JavaScript通过attachEvent和detachEvent方法处理带参数的函数
- attachEvent的使用方法与传递参数[IE|firefox]
- javascript中attachEvent用法实例分析
- JS在IE和FF下attachEvent,addEventListener学习笔记
- Javascript 的addEventListener()及attachEvent()区别分析
- javascript attachEvent和addEventListener使用方法
- 如何解决attachEvent函数时,this指向被绑定的元素的问题?
最新评论