event是ie自帶的一個對象,而ff中不存在該對象,只能通過傳遞參數的方式來模擬event 
另外ie中使用srcElement去獲得事件觸發源,ff下使用target。因此使用這兩個對象時需要做相關的瀏覽器兼容。 
復制代碼 代碼如下:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>srcElement --</title> 
<script type="text/javascript"> 
<!-- 
function Click(event){ 
event = event? event: window.event 
var obj = event.srcElement ? event.srcElement:event.target; 
alert(obj.tagName); 
} 
//--> 
</script> 
</head> 
<body> 
<button>點擊</button> 
</body> 
</html> 
復制代碼 代碼如下:
 
<script type="text/javascript"> 
<!– 
function Click(event){ 
event = event? event: window.event; 
var obj = event.srcElement ? event.srcElement:event.target; 
alert("eventObj.tabName:" + obj.tagName); 
} 
var oBtnNew; 
window.onload=function(){ 
oBtnNew=document.getElementById("btnNew"); 
if(window.attachEvent){ 
oBtnNew.attachEvent("onclick",hanlder); 
oBtnNew.attachEvent("onmouseover",hanlder); 
}else{ 
oBtnNew.addEventListener("click",hanlder,false); 
oBtnNew.addEventListener("mouseover",hanlder,false); 
} 
/*或者采用下面試 
oBtnNew.onclick=hanlder; 
oBtnNew.onmouseover=hanlder;*/ 
} 
function hanlder(event){ 
event=event?event:window.event; 
if(event.type=="click") 
oBtnNew.innerHTML="發生了onclick事件"; 
else if(event.type=="mouseover") 
oBtnNew.innerHTML="發生了onmouseover事件"; 
} 
//–> 
</script> 
</head> 
<body> 
<button>點擊</button> 
<button>添加事件點擊</button> 
新聞熱點
疑難解答
圖片精選