美文网首页
原生事件对象

原生事件对象

作者: 哈哈腾飞 | 来源:发表于2017-07-08 10:23 被阅读0次

事件对象:

每当触发事件时,就会产生一个事件对象(不管是DOM 0 还是DOM2 都有事件对象)[ 事件对象操作的都是DOM 0 和 DOM 2 在其他地方不管用(在标签中添加的事件调用事件对象是无效的) ]

下面是一个简单的dom能帮助我们更好的的理解事件对象:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    *{padding: 0; margin:0;}
    div{width: 100px; height: 100px; background-color: orange; position: absolute; left: 10px; top:30px; cursor: move;}
    </style>
</head>
<body>
    <div></div>

    <script type="text/javascript">
    var div = document.querySelector("div");
    var xArr = [10],yArr=[30];
    div.onmousedown = function(e){
        var e = e||window.event;
        //获取鼠标到元素左边和上边的坐标
        var disX = e.offsetX;
        var disY = e.offsetY;
        document.onmousemove = function(ev){
            // e 事件对象做了兼容处理,怕有的浏览器不兼容,如:ie或低版本
            var ev = ev||window.event;
            var x = ev.clientX-disX;
            var y = ev.clientY-disY;
            xArr.push(x);
            yArr.push(y);
            div.style.left = x+"px";
            div.style.top = y+"px";
        }
    }
    var no =0;
    div.onmouseup = function(){
        document.onmousemove = null;
        clearInterval(no);
        no = setInterval(function(){
            //数组方法:pop:从集合中把最后一个元素删除,并返回这个元素的值
            div.style.left = xArr.pop()+"px";
            div.style.top = yArr.pop()+"px";
        },20);
        if(xArr.length==0){
            clearInterval(no);
            return;
        }
    }
    </script>
</body>
</html>

相关文章

  • scroll相关的易混淆概念

    原生js: scroll事件 screenXscreenY 事件对象 screenTopscreenLeft 新窗...

  • 原生JS实现Ajax

    原生Js的实现 事件 鼠标事件 *e.stoppropagation();//阻止事件冒泡 键盘事件 事件对象(e...

  • 原生事件对象

    事件对象: 每当触发事件时,就会产生一个事件对象(不管是DOM 0 还是DOM2 都有事件对象)[ 事件对象操作的...

  • JS 事件对象|事件目标|阻止默认事件|阻止冒泡

    1、事件对象 2、事件目标 3、阻止事件冒泡 4、阻止默认事件 5、return false(原生js在事件函数里...

  • js和JQuery获取位置及大小的区别

    [原生JS] 一、offSet系列 二、client系列 三、事件对象 (1)鼠标事件 (2)移动端触摸事件 四、...

  • ES6 Promise 详解

    ECMAscript 6 原生提供了 Promise 对象。 Promise 对象代表了未来将要发生的事件,用来传...

  • JS事件—Event 对象

    概述 事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,所有的事件都是这个...

  • JS的原生事件

    javascript原生的事件包括事件流、处理函数、事件对象等。而在兼容性也有问题。 1事件流 事件流是ie和Ne...

  • 原生js获取事件对象和事件

  • 文件上传

    1. 获取文件名称:原生dom对象.files里面有name属性 总结: jQuery表单事件之change事件 ...

网友评论

      本文标题:原生事件对象

      本文链接:https://www.haomeiwen.com/subject/ylpdhxtx.html