取消默认事件与事件对象

173 阅读1分钟

鼠标右键菜单

1. 以对象属性的方式注册的事件才生效

document.oncontextmenu = function () {
    return false;
}
//不能用addEventListener 

2. 兼容IE

document.oncontextmenu = function (e) {
    e.returnValue = false;
}

3.封装函数

function cancelHandler(event) { 
    if(event.prevetDefault){
        event.prevetDefault();}else{event.returnValue = false;
}
}

事件对象

event || window.event 用于IE

1.event.target 火狐浏览器只有这个

2.event.srcElement IE只有这个

这俩chrome都有

运用实例

给你一个 ul 里面都是 li  

每个 li 里都有序号,要求你点哪个 li 显示他的序号

var ul = document.getElementsByTagName('ul')[0];
ul.onclick = function(e){
    var event = e || window.event;  //兼容
    var target = event.target || event.srcElement; //兼容
    console.log(target.innerText); //因为冒泡
}

本身在li身上的东西,加在ul上

事件委托

(¦3[▓▓]