如何讓火狐瀏覽器兼容window.event


 遇到一個問題,火狐不兼容window.event,之前代碼解決是通過這種方式解決的。

 如下(無參數方式):

unction _test2()
{
    var evt = window.event || arguments.callee.caller.arguments[0]; // 獲取event對象
    var src = evt.srcElement || evt.target; // 獲取觸發事件的源對象
    var iKeyCode = evt.keyCode || evt.which; //獲取按鈕代碼
    alert(src.value); // 打印該對象的value屬性
    if (window.navigator.userAgent.indexOf("IE")>=1){
       evt.keyCode =0;
              evt.returnValue=false;
           }else{
              evt.preventDefault();
           }
 
        
}

我猜可能之前這樣是可以用的,但是現在的確是不行,在火狐瀏覽器中獲取window.event是undefined導致evt=arguments.callee.caller.arguments[0]; 而 arguments.callee.caller為null,導致此句報錯無法進行后續操作。

后來查閱資料使用參數方式
如下:
onclick="Open(event)"
一般是
function Open(evt)
{
e = window.event || evt;//兼容所有瀏覽器
}

當我換成這樣的方式,效果是可以的,火狐,IE,Chrmoe都可以獲取到event事件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM