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 相关文章推荐
js 方法实现返回多个数据的代码
Apr 30 Javascript
页面中iframe相互传值传参
Dec 13 Javascript
善用事件代理,警惕闭包的性能陷阱。
Jan 20 Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 Javascript
JS实现窗口加载时模拟鼠标移动的方法
Jun 03 Javascript
js实现图片无缝滚动特效
Mar 19 Javascript
javascript中利用柯里化函数实现bind方法
Apr 29 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
Vue 无限滚动加载指令实现方法
May 28 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 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编写的简单页面跳转功能实现代码
2013/11/27 PHP
php分页代码学习示例分享
2014/02/20 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
php中关于换行的实例写法
2019/09/26 PHP
js 操作符汇总
2014/11/08 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
React组件的三种写法总结
2017/01/12 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python查找相似单词的方法
2015/03/05 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
学习Python列表的基础知识汇总
2020/03/10 Python
Python中Selenium模块的使用详解
2020/10/09 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
JAVA程序员面试题
2012/10/03 面试题
中层干部岗位职责
2013/12/18 职场文书
自荐信格式简述
2014/01/25 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
公司年会策划方案
2014/05/17 职场文书
禁毒宣传标语
2014/06/19 职场文书
优秀教师推荐材料
2014/12/16 职场文书
关于倡议书的范文
2015/04/29 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书