JS setCapture 区域外事件捕捉


Posted in Javascript onMarch 18, 2010

不过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()
Javascript 相关文章推荐
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
JS.getTextContent(element,preformatted)使用介绍
Sep 21 Javascript
jquery.cookie用法详细解析
Dec 18 Javascript
JQuery实现网页右侧随动广告特效
Jan 17 Javascript
Vue动态组件实例解析
Aug 20 Javascript
JavaScript实现图片拖曳效果
Sep 08 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
Echarts动态加载多条折线图的实现代码
May 24 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
PHP读取远程txt文档到数组并实现遍历
Aug 25 Javascript
小议Javascript中的this指针
Mar 18 #Javascript
jQuery each()方法的使用方法
Mar 18 #Javascript
jQuery each()小议
Mar 18 #Javascript
jquery ajax执行后台方法
Mar 18 #Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
Mar 18 #Javascript
javascript 验证日期的函数
Mar 18 #Javascript
12个非常有创意的JavaScript小游戏
Mar 18 #Javascript
You might like
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php获取系统变量方法小结
2015/05/29 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
javascript去掉前后空格的实例
2013/11/07 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python3 max()函数基础用法
2019/02/19 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
2017/09/12 HTML / CSS
工厂搬迁方案
2014/05/11 职场文书
人大调研汇报材料
2014/08/14 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
在python中实现导入一个需要传参的模块
2021/05/12 Python
Pytest中skip skipif跳过用例详解
2021/06/30 Python
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB