码迷,mamicode.com
首页 > Web开发 > 详细

JS——event

时间:2017-12-04 11:35:50      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:支持   window   func   tag   拖动   dom   cli   情况   return   

触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息:

技术分享图片

普通浏览器支持 event(传参),IE678支持 window.event(无参),兼容写法:

<script>
    var divEle = document.getElementsByTagName("div")[0];
    divEle.onclick = function (e) {
        e = e || window.event;
        console.log(e);
    }
</script>

client、page、screen三者之间的区别:

clientX/clientY:当前窗口(可视区域)的左上角为基准点

pageX/pageY:在不拖动情况下同上,在拖动的情况下,会越来越大

screenX/screenY:当前屏幕左上角为基准点

pageX、pageY在IE678中不支持,兼容写法:被卷去的部分+可视区域坐标

<script>
    document.onclick = function (e) {
        e = e || window.event;
        var pageY = e.pageY || scroll().top + e.clientY;
        console.log(pageY);
    }

    function scroll() {
        return {
            "top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop,
            "left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
        };
    }
</script>

特别补充:offsetX/offsetY,触发事件的元素左上角为基准点

<script>
    var divEle = document.getElementsByTagName("div")[0];
    divEle.onclick = function (e) {
        e = e || window.event;
        console.log(e.offsetY);
    }
</script>

 

 

 

JS——event

标签:支持   window   func   tag   拖动   dom   cli   情况   return   

原文地址:http://www.cnblogs.com/wuqiuxue/p/7975991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!