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

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


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

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


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


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

【热门文章】
【热门文章】