domObj.onkeydown = function(e){ if(e){ e.…… }else{ event.…… } }
上面例子:如果是火狐浏览器执行if里面的语句,即使用e这个参数,来引用“事件对象”。
如果是IE浏览器则执行else里面的语句,即使用event来引用“事件对象”。
这是为了兼容两个浏览器而使用的if判断方法,来使用事件对象。
domObj.onkeydown = function(e){ var oevent = e||event; oevent.…… }
上面例子:通过使用“或”这个逻辑运算符的特性,来自动判断应该使用那个做为事件对象的引用。
解释:e || event ;
如果是IE浏览器,那么e不能做为事件对象的引用,为假。event为真,那么event就会赋值给var oevent = event;
反之在火狐浏览器,那么event不能做为事件对象的引用,为假。e为真,那么e就会赋值给 var oevent = e;
所以无论在那个浏览器下面,oevent都可以正确的引用事件对象!这种写法,比前面的if(){}else{}感觉要优雅些!
本文探讨了在不同浏览器(如火狐和IE)中处理键盘事件时的事件对象兼容性问题。通过使用if...else...结构和逻辑或运算符,可以确保在各种浏览器环境下正确引用事件对象,实现优雅且兼容的事件监听。
131

被折叠的 条评论
为什么被折叠?



