作家
登录

JS setCapture 区域外事件捕捉

作者: 来源:www.28hudong.com 2013-03-30 01:46:02 阅读 我要评论

不过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="width: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()

  推荐阅读

  jQuery $.each的用法说明

复制代码 代码如下: var arr1 = [ "a", "b", "c", "d", "e" ]; $.each(arr1, function(){ alert(this); }); 输出:a b c d e 复制代码 代码如下: var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] $.each(arr2, fun>>>详细阅读


本文标题:JS setCapture 区域外事件捕捉

地址:http://www.17bianji.com/kaifa2/JS/26827.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)