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 相关文章推荐
JavaScript实现动态增加文件域表单
Feb 12 Javascript
jquery nth-child()选择器的简单应用
Jul 10 Javascript
使用javascript实现页面定时跳转总结篇
Sep 21 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
Angular2 路由问题修复详解
Mar 01 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
Apr 17 Javascript
解决layUI的页面显示不全的问题
Sep 20 Javascript
Vue select 绑定动态变量的实例讲解
Oct 22 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
小议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
PHP7常量数组用法分析
2016/09/26 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python实现股市信息下载的方法
2015/06/15 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Django 外键的使用方法详解
2019/07/19 Python
Python with语句和过程抽取思想
2019/12/23 Python
利用python爬取有道词典的方法
2020/12/08 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
Java如何读取CLOB字段
2013/10/10 面试题
大学生农村教师实习自我鉴定
2013/09/21 职场文书
社会实践心得体会
2014/01/03 职场文书
人事代理委托书
2014/09/27 职场文书
南湾猴岛导游词
2015/02/09 职场文书
python文件目录操作之os模块
2021/05/08 Python