- (document, "mousewheel", handleMouseWheel);
- (document, "DOMMouseScroll", handleMouseWheel);
- (window, "devicemotion", func(e){})
- (window, "deviceorientation", function(event){})
- (window, "DOMContentLoaded", function(event){})
- (textbox, "keyup", function(event){})
- (document, "DOMSubtreeModified", function(event){})
- (window, "hashchange", function(event){})
- (textbox, "keydown", function(event){})
- (textbox, "keypress", function(event){})
- (window, "load", function(event){})
- (image, "load", function(event){})
- (window, "pageshow", function(event){})
- (window, "pagehide", function(event){})
- (document, "readystatechange", function(event){})
- (div, "mouseout", function(event){})
- (window, "resize", function(event){})
- (window, "scroll", function(event){})
- (document, "DOMSubtreeModified", function(event){})
- (document, "DOMCharacterDataModified", function(event){})
- (textbox, "textInput", function(event){})
- (textbox, "focus", function(event){})
- (textbox, "blur", function(event){})
- (textbox, "change", function(event){})
- (form, "submit", function(event){})
- (form, "reset", handleSubmitEvent)
- (#comments , "select", function(event){})
- (textbox, "paste", function(event){})
- (textbox, "select", function(event){})
- (image, "error", function(event){})
JS-事件工具
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 {
element["on" + type] = handler;
}
},
getButton: function(event){
if (document.implementation.hasFeature("MouseEvents", "2.0")){
return event.button;
} else {
switch(event.button){
case 0:
case 1:
case 3:
case 5:
case 7:
return 0;
case 2:
case 6:
return 2;
case 4: return 1;
}
}
},
getCharCode: function(event){
if (typeof event.charCode == "number"){
return event.charCode;
} else {
return event.keyCode;
}
},
getClipboardText: function(event){
var clipboardData = (event.clipboardData || window.clipboardData);
return clipboardData.getData("text");
},
getEvent: function(event){
return event ? event : window.event;
},
getRelatedTarget: function(event){
if (event.relatedTarget){
return event.relatedTarget;
} else if (event.toElement){
return event.toElement;
} else if (event.fromElement){
return event.fromElement;
} else {
return null;
}
},
getTarget: function(event){
return event.target || event.srcElement;
},
getWheelDelta: function(event){
if (event.wheelDelta){
return (client.engine.opera && client.engine.opera < 9.5 ? -event.wheelDelta : event.wheelDelta);
} else {
return -event.detail * 40;
}
},
preventDefault: function(event){
if (event.preventDefault){
event.preventDefault();
} else {
event.returnValue = false;
}
},
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;
}
},
setClipboardText: function(event, value){
if (event.clipboardData){
event.clipboardData.setData("text/plain", value);
} else if (window.clipboardData){
window.clipboardData.setData("text", value);
}
},
stopPropagation: function(event){
if (event.stopPropagation){
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
};
事件会传递
var btn = document.getElementById("myBtn");
btn.onclick = function(event){
alert(event.eventPhase); //2
};
document.body.addEventListener("click", function(event){
alert(event.eventPhase); //1
}, true);
document.body.onclick = function(event){
alert(event.eventPhase); //3
};