事件对象的兼容


每个事件函数天生有一个参数叫event,它是事件对象,如果想修改event的名称,事件函数的第一个参数就是用来修改的

var oDiv = document.getElementById("div"); oDiv.onclick = function() { console.dir(arguments); }; document.body.onclick = function(e) { console.dir(e); //MouseEvent

当我们触发#div的点击行为的时候,会执行对应绑定的方法

不仅仅把绑定的方法执行了,而且浏览器还默认的给这个方法传递了一个参数值,叫做MouseEvent,叫做鼠标事件对象,是一个对象属性类型的值

  • 它是一个对象数据类型的值,里面包含了很多的属性名和属性值,这些都是用来记录当前鼠标的相关信息的。

    鼠标移动的坐标:

    page:针对于整个页面的左顶点 常用

    console.log("page",e.pageX,e.pageY);
    

    client:针对于可视窗口的左顶点 不常用

    console.log("client",e.clientX,e.clientY);
    

    offset:针对于父元素的左顶点 常用于拖拽

     console.log("offset",e.offsetX,e.offsetY);
    

    案例:跟随鼠标移动