JS setCapture 区域外事件捕捉

2022-01-14,,,

鼠标捕获(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)
  事例:
复制代码 代码如下:

点一下IE的菜单或者按钮看看:)
又或者IE窗口外的地方

在调用setCapture()后, 捕捉到事件后自动释放, 如果在连续对事件捕捉,需要在调用的事件里再次执行setCaptuer() 您可能感兴趣的文章:

  • HTML中的setCapture和releaseCapture使用介绍
  • JS高级拖动技术 setCapture,releaseCapture
  • JS拖动技术 关于setCapture使用
  • Javascript 事件捕获的备忘(setCapture,captureEvents)
  • HTML中setCapture、releaseCapture 使用方法浅析

以上就是JS setCapture 区域外事件捕捉的详细内容,更多请关注本站其它相关文章!

《JS setCapture 区域外事件捕捉.doc》

下载本文的Word格式文档,以方便收藏与打印。