zoukankan      html  css  js  c++  java
  • JS 区域外事件捕捉setCapture

      鼠标捕获(setCapture)作用是将鼠标事件捕获到当前文档的指定的对象。这个对象会为当前应用程序或整个系统接收所有鼠标事件。
      不过setCapture不支持键盘事件, 只能捕获以下鼠标事件:onmousedown、onmouseup、onmousemove、onclick、ondblclick、onmouseover和onmouseout。
      程序中主要是要捕获onmousemove和onmouseup事件。
      msdn的介绍中还说到setCapture有一个bool参数,用来设置在容器内的鼠标事件是否都被容器捕获。
        参数为true时(默认)容器会捕获容器内所有对象的鼠标事件,即容器内的对象不会触发鼠标事件(跟容器外的对象一样);

        参数为false时容器不会捕获容器内对象的鼠标事件,即容器内的对象可以正常地触发事件和取消冒泡。

      object.setCapture() 当一个object的被 setCapture 后,他的方法将会被继承到整个文档进行捕获。当不需要把方法继承到整个文档捕获时,要用 object.releaseCapture() 来释放.

      Mozilla 也有类似的功能,方法稍微不同
        window.captureEvents(Event.eventType)
        window.releaseEvents(Event.eventType)

      事例:

    代码
    <HTML> 
      
    <BODY> 
        
    <div id="m_Div" style="200px;height:200px;border:1px solid #b0bca5;padding:2px" onclick="alert('Hello')">点一下IE的菜单或者按钮看看:) 
    又或者IE窗口外的地方
    </div> 
        
    <SCRIPT LANGUAGE="JavaScript"> 
          
    <!-- 
            document.getElementById(
    "m_Div").setCapture() 
          
    //--> 
        </SCRIPT> 
      
    </BODY> 
    </HTML>

    在调用setCapture()后, 捕捉到事件后自动释放, 如果在连续对事件捕捉,需要在调用的事件里再次执行setCaptuer()

  • 相关阅读:
    成为JAVA(高级)工程师
    JVM的内存区域划分以及垃圾回收机制
    XML
    String.valueOf
    JAVA书籍(2)
    JAVA书籍(1)
    深入JAVA线程池
    FileWriter与BufferedWriter
    获取下拉框的文本或值
    删除字符串最后一个字符的几种方法
  • 原文地址:https://www.cnblogs.com/hanf/p/1688980.html
Copyright © 2011-2022 走看看