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 相关文章推荐
ASP SQL防注入的方法
Dec 25 Javascript
JavaScript this 深入理解
Jul 30 Javascript
javascript 显示当前系统时间代码
Dec 28 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 Javascript
获取中文字符串的实际长度代码
Jun 05 Javascript
5个JavaScript经典面试题
Oct 13 Javascript
JavaScript中判断函数、变量是否存在
Jun 10 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
Vue2 SSR渲染根据不同页面修改 meta
Nov 20 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
基于vue中的scoped坑点解说
Sep 04 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
Nov 20 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
PHP调用三种数据库的方法(1)
2006/10/09 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
php中上传文件的的解决方案
2018/09/25 PHP
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python中tell()方法的使用详解
2015/05/24 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
拉拉队口号
2014/06/16 职场文书
2014年信用社工作总结
2014/11/25 职场文书
消防演习通知
2015/04/25 职场文书
交通安全月活动总结
2015/05/08 职场文书
辩护词格式
2015/05/22 职场文书
现货白银电话营销话术
2015/05/29 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
优质护理心得体会
2016/01/22 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python