兼容的地方,IE仍然沒效果,幫忙看看
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DOM事件對象</title>
</head>
<body>
<div>
<input type="button" value="按鈕1" id="button1" onclick="showMes()" />
<input type="button" value="按鍵2" id="button2" />
<input type="button" value="按鈕3" id="button3" />
</div>
<script type="text/javascript">
function showMes(){
event = event || window.event;
alert(event.type);
alert(event.target.nodeName);
}
var button2 = document.getElementById('button2');
var button3 = document.getElementById('button3');
button2.onclick = function(){
alert("DOM0級事件處理程序");
}
button2.onclick = null;
//下面處理兼容的問題,能力判斷
var eventUtil = {
//添加事件
addHandler: function(element, type, handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
//DOM0級,老版本瀏覽器
//element[onclick] === element.onclick
element['on'+type] = handler;
}
},
removeHandler: function(element, type, handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type] = null;
}
}
}
eventUtil.addHandler(button3,'click',showMes);
</script>
</body>
</html>
2016-04-20
//IE中事件對象是作為全局對象( window.event )存在的,Firefox中則是做為句柄( handler )的第一個參數(shù)傳入內(nèi)的
//所以應(yīng)該這樣寫
function showMes(){
var event = window.event||arguments[0];
alert(event.type);
var element=event.srcElement?event.srcElement:event.target;
alert(element.nodeName);
//由于IE不支持event.target屬性,但是IE有event.srcElement,作用等同于event.target,所以可以這樣寫
}
圖片的四種方法具體可以看http://wenku.baidu.com/view/400a89f4f61fb7360b4c65ca.html
2016-04-11
window.onload=function(){}
沒有加載