在“跨浏览器的事件处理程序:https://www.phpvar.com/archives/2428.html”一文中,提到原生js的事件绑定操作,但未提到“事件处理程序,在ie9以下有this指向问题”。so,本文就这样诞生了....
首先得说明下,博客发文章会同步到新浪、腾讯微博以及QQ空间。同步到QQ空间的文章,代码部分都会变成不换行的显示格式。本人不怎么用QQ空间,但发现竟然有朋友去看了这段无格式的代码,并指出文章中“事件处理程序,在ie9以下有this指向问题”还没解决!好吧,无格式的代码也能看出问题来,哥只能说,这是牛人,只能膜拜了,哈....对于这位朋友,哥建议下次直接来博客看我文章吧,省事 !
直入主题,“事件处理程序,在ie下有this指向问题”,对于这个问题,我一开始想法是使用apply()改变handler this指向,但发现外层使用的是匿名函数,会使得事件无法解绑,须额外再处理,比较繁琐,推荐在事件处理程序中"弃用this,改用变量_this"的方法来处理!!
完整代码:
提示:你可以先修改部分代码再运行。
上述代码,关键的是handler()函数的处理,注意alert出来的内容,再理解下几个alert的注释,基本就能理解本文代码的意图了!!
上一篇: 跨浏览器的事件处理程序
下一篇: 按元素索引匹配控制层的显示、隐藏
0条评论( 网友:0 条,站长:0 条 ) 网友评论{有您的评论更精彩....}