Javascript 事件捕获的备忘(setCapture,captureEvents)

2016-02-19 12:24 100 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Javascript 事件捕获的备忘(setCapture,captureEvents),希望大家看完后能赶快学习起来。

【 tulaoshi.com - Web开发 】

这段时间一直在给QZone研究Js拖放的问题。今天突然发现live.com的模块拖放居然可以跨出浏览器。到底是什么方法让 mousemove 和 mouseup 事件可以到浏览器外也可以触发,于是把整个live的js down下来分析,结果发现是一个小小的函数在做"怪" 。

  object.setCapture() 当一个object的被 setCapture 后,他的方法将会被继承到整个文档进行捕获。
  当不需要把方法继承到整个文档捕获时,要用 object.releaseCapture()

   Mozilla 也有类似的功能,方法稍微不同 
  window.captureEvents(Event.eventType) 
   window.releaseEvents(Event.eventType)

Event 是Mozilla特殊的一个object. 
eventType 包括: Abort, Blur, Click, Change, DblClick, DragDrop, Error, Focus, KeyDown, KeyPress, KeyUp, Load, MouseDown
以下例子偷懒一下,不做Mozilla的兼容,只是为了演示


相关联接:
For IE
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/setcapture.asp
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/releasecapture.asp

For Mozilla
http://developer.mozilla.org/en/docs/DOM:window.captureEvents
http://developer.mozilla.org/en/docs/DOM:window.releaseEvents

来源:http://www.tulaoshi.com/n/20160219/1600829.html

延伸阅读
标签: Web开发
本节稍稍深入地讨论关于事件处理的话题,如果你对模式、闭包和面向对象等概念还不太理解,不妨暂且等阅读完相关内容之后再回过头来阅读它,相信你会有很大收获。 1 事件处理模式        在程序设计领域,“事件处理”是一种模式,当一个对象受外部影响而改变状态时,通过消息的方式将这个状态改变...
标签: Web开发
问题:有一个列表,每一个条目都是这篇文章的部分内容,类似这样: 123456789101112  div class="list" div class ="item"第一篇文章/div div class ="item"第二篇文章/div...../div 而且在每个条目的div的右上角都有一个评论链接,点击就会展开所有的评论,并且显示评论框,这个链接...
标签: Web开发
我们用Select的onchange事件时,常会遇到这样一个问题,那就是连续选相同一项时,不触发onchange事件.select的onchange事件就是这样子的.你得有Change(改变),才能触发该事件... 掌握了它的特性后,相应的解决办法也很简单. select name=sel onchange="bao(this.options[this.options.selectedIndex].value)" option value=""请选择 opt...
标签: Web开发
每个JavaScript框架都实现跨浏览器的事件处理,鼓励你摆脱旧式的内联附加事件而使用精简的线性方法。看看清单6的jQuery例子,使用hover事件高亮显示div元素。 清单6:使用jQuery附加hover事件 $('#the-box').hover(function() {    $(this).addClass('highlight'); }, function() {    $(this).removeClass('highli...
标签: Web开发
click() 对象.click() 使对象被点击。  closed 对象.closed 对象窗口是否已关闭true/false  clearTimeout(对象) 清除已设置的setTimeout对象  clearInterval(对象) 清除已设置的setInterval对象  confirm("提示信息") 弹出确认框,确定返回true取消返回false  cursor:样式 更改鼠标样式 hand crossh...

经验教程

985

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部