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