一.跨浏览器的事件监听器
二.跨浏览器的停止事件冒泡
三.跨浏览器的阻止事件默认行为
一.跨浏览器的事件监听器
/**
* 跨域的 浏览器 事件监听器
* IE中没有addEventListener()方法,从IE5开始提供与之等效的attachEvent()方法;
* 对于更早期的版本,只能通过属性方法(onclick属性)来解决问题。 eventType为事件类型
*/
if(window.addEventListener){
//第三个参数为false时,是冒泡事件监听器;为true时,是捕获事件监听器。
window.addEventListener(eventType,callback,false);
}else if(window.attachEvent){
//IE8及以下版本
window.attachEvent("on"+eventType,callback);
}else{
//IE5以下版本 document.onclick = callback;
document["on"+eventType] = callback;
}
function callback(evt){
//prep work
evt = evt || window.evt;
var target = evt.target || evt.srcElement;
//work......
console.log(target.nodeName);
}
二.跨浏览器的停止事件冒泡
/**
*跨浏览器的 停止事件冒泡
*/
function someHandle(event) {
event = event || window.event;
if(event.stopPropagation){
event.stopPropagation();
}else {
event.cancelBubble = true;
}
}
三.跨浏览器的阻止事件默认行为
/**
*跨浏览器的 阻止事件默认行为
*/
function someHandle(event) {
event = event || window.event;
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
}