浏览器兼容的禁用右键的JavaScript代码

今天在百度知道上看到有人提问怎么用JS禁用页面右键。

自己写了一个

document.oncontextmenu = function(e) {

if ( e && e.button == 2 && e.preventDefault )

e.preventDefault();

else

window.event.returnValue = false;

}

【可以在当前页面上右键测试】

但是发现只能兼容IE和Firefox,Opera中却没有事件响应。不知道要怎么解决?