JavaScript 这里的e对象 和 event 对象 都是针对哪个浏览器的?
高洛峰
高洛峰 2017-04-11 09:16:58
[JavaScript讨论组]
    function norightclick(e) 
    {
        if (window.Event) {
          if (e.which == 2 || e.which == 3)
           return false;
        } else if (event.button == 2 || event.button == 3){
               event.cancelBubble = true
               event.returnValue = false;
               return false;
          }
    }

其实这个代码,我看得懂,就是我不知道 e. 是为了兼容哪个浏览器?
还有就是这个 e 是个什么东西,是个 变量名 ,像 var a=new.Object() 的a一样;
还是像 function 中的 this 一样,是个预留关键字?

event.是为了兼容哪个浏览器?
另外为什么,function norightclick(e) 里没有传 event 的值?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
ringa_lee

这是一个事件处理函数,事件处理函数会接受一个参数,这个参数描述了事件的相关信息,这就是e,这里的e是一个形参,实参是由 JS 引擎生成的 event 对象。
window.event也是一个 event 对象,只有 ie 浏览器会生成这个对象,所以这里的window.event是为了兼容 ie 浏览器,而e这个参数才是标准用法。

PHP中文网

e 只是一个变量名而已,函数执行的时候 e 具体的值取决于调用方传进来的值。这个函数是事件回调函数, 由浏览器在特定事件发生的时候调用 。浏览器调用这个函数的时候,会传递一个Event对象给这个函数(这个Event对象包含对应事件的相关信息),就相当于把这个Event对象赋值给 e。

window.event 是为了兼容老版本的ie。

阿神

楼上正解。window.event是为了兼容ie

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号