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;
}
}
5:事件移除
复制代码 代码如下:
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;
}
}
6:获得event,Firefox事件不断派发的时候,第一次事件会出现问题。
复制代码 代码如下:
function(event){
event = (event ? event : window.event);
if (event == null) {
var $E = function(){
var c = $E.caller;
while (c.caller)
c = c.caller;
return c.arguments[0]
};
__defineGetter__("event", $E);
}
return event;
}
7:阻止默认事件
复制代码 代码如下:
function(event){
if (event.preventDefault) {
event.preventDefault();
}
else {
event.returnValue = false;
}
}
8:不继续传播事件
复制代码 代码如下:
function(event){
if (event.stopPropagation) {
event.stopPropagation();
}
else {
event.cancelBubble = true;
}
}
9:获得event的target
复制代码 代码如下:
function(event){
return event.target || event.srcElement;
}
10:documen.doctype支持不一致
E:如果存在文档类型说明,会将其错误的解释为一个注释并把它当做Comment节点,document.doctype的值始终是null。