javascript 事件对象

btn.onclick = function (event) {
    // event 就是事件对象
    var e = event || window.event; // window.event是兼容低版本IE的写法
}

event 常见属性

属性 用途
clientX 光标相对于该网页的水平位置
clientY 光标相对于该网页的垂直位置
type 事件的类型
target 该事件被传送到的对象
screenX 光标相对于该屏幕的水平位置
screenY 光标相对于该屏幕的垂直位置
pageX 光标相对于该网页的水平位置(IE6,7,8不适用)
pageY 光标相对于该网页的垂直位置(IE6,7,8不适用)
width 该窗口或框架的宽度
height 该窗口或框架的高度
data 返回拖拽对象的 URL 字符串

javascript 事件传递机制(冒泡)

  • js事件会从事件源(比如被点击的a标签)沿着DOM树一层层向上传递

注: 不是所有的事件都能冒泡,比如 : blur focus load unload

阻止冒泡

  • 标准浏览器
event.stopPropagation();
  • IE
event.cancelBubble = true; 
  • 兼容写法
function stopBubble(event) {
    // w3c标准
    if (event && event.stopPropagation) {
        event.stopPropagation()
    }else{   
    // IE浏览器
        event.cancelBubble = true; 
    }
}
原文地址:https://www.cnblogs.com/liaohui5/p/10581664.html