|
在ie中,事件對象是作為一個全局變量來保存和維護的。 所有的瀏覽器事件,不管是用戶觸發
的,還是其他事件, 都會更新window.event 對象。 所以在代碼中,只要輕松調用 window.event
就可以輕松獲取 事件對象, 再 event.srcElement 就可以取得觸發事件的元素進行進一步處理
在ff中, 事件對象卻不是全局對象,一般情況下,是現場發生,現場使用,ff把事件對象自動傳
遞給對應的事件處理函數。 在代碼中,函數的第一個參數就是ff下的事件對象了。
<button id="btn4" onclick="foo4()">按鈕4</button>
<script>
function foo4(){
var evt=getEvent();
var element=evt.srcElement || evt.target ;
alert(element.id)
}
function getEvent()
{ //同時兼容ie和ff的寫法
if(document.all) return window.event;
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
return arg0;
}
}
func=func.caller;
}
return null;
}
</script>
2、firefox和ie對手型指針cursor不兼容
手型指針有cursor:hand和cursor:pointer兩種寫法,其中cursor:hand在ff中不支持,返回錯誤!
只要使用cursor:pointer即可,ff和ie都支持!
JavaScript技術:ie和firefox不兼容的解決方法集合,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。