开发者社区> 问答> 正文

JavaScript 这里的e对象 和 event 对象 都是针对哪个浏览器的?

    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 的值?

展开
收起
a123456678 2016-03-11 09:56:21 2038 0
1 条回答
写回答
取消 提交回答
  • 这是一个事件处理函数,事件处理函数会接受一个参数,这个参数描述了事件的相关信息,这就是e,这里的e是一个形参,实参是由 JS 引擎生成的 event 对象。
    而window.event也是一个 event 对象,只有 ie 浏览器会生成这个对象,所以这里的window.event是为了兼容 ie 浏览器,而e这个参数才是标准用法。

    2019-07-17 18:58:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于浏览器的实时构建探索之路 立即下载
JavaScript 语言在引擎级别的执行过程 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载