zoukankan      html  css  js  c++  java
  • 鼠标事件考

    鼠标事件有一下几种

      1.click  单击

      2.dblclik  双击

      3.mousedown  鼠标三键其中之一 按下

      4.mouseup  鼠标释放  

      5.mouseover  鼠标进入

      6.mouseout  鼠标离开

        5.6:鼠标移动到自身时候会触发事件,同时移动到其子元素身上也会触发事件,也就是说e.target改变了就会触发

      7.mouseenter  鼠标滑入

      8.mouseleave  鼠标滑出

        7,8鼠标移动到自身时候会触发事件,同时移动到子元素上不会触发事件。

      9.cintent  鼠标右键菜单事件。

      10.mousemove  鼠标在目标上移动事件

       事件触发顺序是:mousedown -> mouseup -> click -> mousedown -> mouseup -> click -> dblclick。

    全局事件对象event

      e.y e.x e.clientX e.clientY 鼠标相对文档在左上顶不位置(当有滚动条或者滚动条改变时,注意)

      e.pageX e.pageY   鼠标相对于页面左上角位置

      e.offsetX e.offsetY  鼠标距离侦听目标的左上角位置

      e.layerX e.laerY  容器内元素针对侦听目标的左上角位置

      e.screenX e.screenY   针对显示屏的左上角位置

      e.movementX e.movementY  本次鼠标移动距离(mousemove)

      e.controlkey e.shiftkey e.altkey  鼠标事件触发时,按下了键盘上的那个辅助键

      e.button  鼠标的哪一个键触发的事件 0-左键  1-中键  2-右键

      我们上次学了一个阻止事件的冒泡 e.stopPropagation()

        这次我们学一个阻止默认行为e.proeventDefault()

        <form action="http://www.baidu.com" method="get">
            <input type="text" name="aa" id="">
            <!-- 当我们点击了 提交有 页面就会跳转到baidu的页面 -->
            <input type="submit" value="提交">
        </form>
    
        <script>
            var btn=document.querySelector("[type=submit]");
            btn.addEventListener("click",clickHandler);
    
            function  clickHandler(e){
                //阻止submit的默认行为,因为submit 系统默认就会跳转到action
                e.preventDefault();
                console.log("aaaa");
            }
        </script>

    案例:

      放置一个div,让div跟随鼠标移动

     <style>
         div{
              50px;
             height:50px;
             background-color: red;
             position: absolute;
         }
     </style>
    </head>
    <body>
        
        <div></div>
    
        <script>
            var div=document.querySelector("div");
            
            document.addEventListener("mousemove",mouseHandler);
            function mouseHandler(e){
                //注意 这里一定要加px,offsetwidth/2 这样鼠标就会在div的中间了
                div.style.left=e.clientX-div.offsetWidth/2+"px";
                div.style.top=e.clientY-div.offsetHeight/2+"px";            
            }
        </script>
  • 相关阅读:
    一步一步学Silverlight 2系列(2):基本控件
    一步一步学Silverlight 2系列(12):数据与通信之WebClient
    一步一步学Silverlight 2系列(10):使用用户控件
    非常精彩的Silverlight 2控件样式
    给GridView添加显示服务端图片的列
    C# 实体类生成工具
    多线程(三) 生产者和消费者
    C# 实现多线程的同步方法
    多线程(五) 多线程的自动管理(定时器)
    ThreadPool 线程池
  • 原文地址:https://www.cnblogs.com/xiaowie/p/13704116.html
Copyright © 2011-2022 走看看