|
在ie中,事件對(duì)象是作為一個(gè)全局變量來保存和維護(hù)的。 所有的瀏覽器事件,不管是用戶觸發(fā)
的,還是其他事件, 都會(huì)更新window.event 對(duì)象。 所以在代碼中,只要輕松調(diào)用 window.event
就可以輕松獲取 事件對(duì)象, 再 event.srcElement 就可以取得觸發(fā)事件的元素進(jìn)行進(jìn)一步處理
在ff中, 事件對(duì)象卻不是全局對(duì)象,一般情況下,是現(xiàn)場(chǎng)發(fā)生,現(xiàn)場(chǎng)使用,ff把事件對(duì)象自動(dòng)傳
遞給對(duì)應(yīng)的事件處理函數(shù)。 在代碼中,函數(shù)的第一個(gè)參數(shù)就是ff下的事件對(duì)象了。
<button id="btn4" onclick="foo4()">按鈕4</button>
<script>
function foo4(){
var evt=getEvent();
var element=evt.srcElement || evt.target ;
alert(element.id)
}
function getEvent()
{ //同時(shí)兼容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對(duì)手型指針cursor不兼容
手型指針有cursor:hand和cursor:pointer兩種寫法,其中cursor:hand在ff中不支持,返回錯(cuò)誤!
只要使用cursor:pointer即可,ff和ie都支持!
JavaScript技術(shù):ie和firefox不兼容的解決方法集合,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。