JavaScript获取事件对象的注意事项

wsluanxun86

wsluanxun86

2016-02-20 01:03

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的JavaScript获取事件对象的注意事项,过去的都会过去,迎接崭新的开始,释放更美好的自己。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

平时我们获取事件对象一般写法如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
 getEvent 
   window  

如果没有参数,也可写成(非IE :事件对象会自动传递给对应的事件处理函数,且为第一个参数):

 getEvent 
    arguments window

这样的写法在除 Firefox(测试版本:3.0.12,下同) 外的浏览器上运行都不会有问题,但 Firefox 为什么例外呢?让我们这样一种情形:

foo按钮


foo
    e  getEvent
   alerte

运行结果在 Firefox 中是 ,为什么呢?

在 Firefox 中调用其实是这样的,先调用执行的是:

 foo
    e  getEvent
   alerte

然后调用执行的是:

 onclick 
    foo

会发现在 Firefox 下 onclick 中的 foo 无法自动传入事件对象参数,而默认传递给了系统生成的 onclick 函数,那本例我们可以通过 getEventcallercallerarguments 获得事件对象。

因此,我们的 getEvent 可以优化成(参照 yui_2.7.0b 中的 event/event-debug.js 中 getEvent 方法):

 getEvent 
        evwindow

        ev
                c getEventcaller
                c
                        ev carguments
            evev   ev
               
           
            c ccaller
               
       

        ev

当然还有一个很简单的解决方法,就是手动将参数传递给 onclick

foo按钮
展开更多 50%)
分享

猜你喜欢

JavaScript获取事件对象的注意事项

Web开发
JavaScript获取事件对象的注意事项

关于Javascript中的事件--Event对象

Web开发
关于Javascript中的事件--Event对象

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

javascript中获取选中对象的类型

Web开发
javascript中获取选中对象的类型

XMLDOM对象方法:对象事件

电脑网络
XMLDOM对象方法:对象事件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

学习JavaScript的事件

Web开发
学习JavaScript的事件

JavaScript的事件:onLoad

Web开发
JavaScript的事件:onLoad

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

webjx收集45个jQuery导航插件和教程

webjx收集45个jQuery导航插件和教程

用WPS演示和插件快速制作个人像册

用WPS演示和插件快速制作个人像册
下拉加载更多内容 ↓