Javascript 事件捕获的备忘(setCapture,captureEvents)_Javascript教程-查字典教程网
Javascript 事件捕获的备忘(setCapture,captureEvents)
Javascript 事件捕获的备忘(setCapture,captureEvents)
发布时间:2016-12-30 来源:查字典编辑
摘要:这段时间一直在给QZone研究Js拖放的问题。今天突然发现live.com的模块拖放居然可以跨出浏览器。到底是什么方法让mousemove和...

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

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的兼容,只是为了演示

点一下IE的菜单或者按钮看看:) 又或者IE窗口外的地方

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

相关联接:

ForIE

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

ForMozilla

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

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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类