`
hqbuaa1013
  • 浏览: 18358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多
引用
转载自:http://www.pjhome.net/article/Javascript/559.htm

这段时间一直在给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, MouseMove, MouseOut, MouseOver, MouseUp, Move, Reset, Resize, Select, Submit, Unload.


以下例子偷懒一下,不做Mozilla的兼容,只是为了演示
<HTML>
<BODY>
<div id="m_Div" style="width:200px;height:200px;border:1px solid #999;padding:2px" onclick="alert('Hello~')">点一下IE的菜单或者按钮看看:)
又或者IE窗口外的地方</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
   document.getElementById("m_Div").setCapture()
//-->
</SCRIPT>
</BODY>
</HTML>
分享到:
评论

相关推荐

    Javascript事件教程小技巧

    Javascript小技巧,觉得用来查询JS的事件挺方便,主要是事件源对象event.srcElement.tagName ,event.srcElement.type,捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键event...

    JS setCapture 区域外事件捕捉

    在Mozilla中,可以使用window对象的captureEvents方法来捕获事件,并用releaseEvents方法来释放事件。通过这种方式,开发者同样可以控制事件的捕获和释放。 示例代码演示了如何使用setCapture方法。在代码中,一个...

    javascript 常用方法及技巧

    document.captureEvents(Event.KEYDOWN); 访问窗体元素 document.all("txt").focus(); document.all("txt").select(); 窗体命令 document.execCommand 窗体COOKIE document.cookie 菜单事件 document....

    超级JS代码实例大全

    document.captureEvents(Event.KEYDOWN); 访问窗体元素 document.all("txt").focus(); document.all("txt").select(); 窗体命令 document.execCommand 窗体COOKIE document.cookie 菜单事件

    HTML中setCapture、releaseCapture 使用方法浅析

    Firefox 提供了`captureEvents`和`releaseEvents`,这两个方法与IE的`setCapture`和`releaseCapture`类似,但参数是一个事件类型,如`Event.MOUSE_DOWN`,允许更精确地控制要捕获的事件类型。 ### 总结 `...

    javascript js 技巧集

    document.captureEvents(Event.KEYDOWN); ``` **3. `document.all("txt").focus()`** - **作用**:使元素获得焦点。 - **示例**: ```javascript document.all("txt").focus(); ``` **4. `document.all("txt...

    IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法

    `setCapture`方法的作用是在当前元素上设置事件捕获,这意味着从当前元素到根节点的所有鼠标事件都将被该元素接收,即使鼠标移动到了其他元素上。这对于处理拖拽事件特别有用,因为用户在拖动过程中可能会将鼠标移到...

    Javascript DIV msgbox

    4. **事件处理**:当用户触发特定事件(如点击按钮、链接或其他交互元素)时,JavaScript函数会被调用以执行相应的操作。例如,点击“关闭”按钮时,对话框应该消失;点击遮罩层时,可能也有关闭对话框的需求。 5. ...

    setCapture和releaseCapture的小应用

    从网上看到setCapture方法,了解了一下,大体是这样的意思,当在IE文档某个区域中使用了这个方法,并且写了onclick或者 onmouse***等有关的鼠标事件方法,那么它就会监视相应的鼠标操作,即使你的鼠标移出了IE,它也一样能...

    易语言解决捕获鼠标时鼠标位置问题

    在编程领域,尤其是在Windows应用程序开发中,经常需要处理与鼠标交互的事件,比如捕获鼠标的当前位置。易语言,作为一款国内自主研发的编程语言,以其简单易学的特点深受初学者和开发者喜爱。本文将深入探讨如何...

    javascript全面总结

    4. **元素事件绑定与解除**:`document.captureEvents`和`document.all.xxx.detachEvent`允许对元素绑定或解除事件监听器,实现了事件的精确控制。 5. **下拉框操作**:`下拉框.options`属性提供了对下拉列表的访问...

    JavaScript中一些常用的小技巧

    6. 绑定事件:`document.captureEvents(Event.KEYDOWN)` 可以捕获键盘事件,而 `document.all("txt").focus();` 和 `document.all("txt").select();` 分别用于聚焦元素和选中元素的文本。 7. 窗体命令:`document....

    javascript 实例大全

    1. **`document.captureEvents(Event.KEYDOWN)`** - 捕获特定类型的事件,例如键盘按下的事件。 2. **`document.all("txt").focus()`** - 将焦点设置到id为“txt”的元素上。 3. **`document.all("txt").select()`...

    javascript经典集合

    `document.captureEvents(Event.KEYDOWN)`用于捕获键盘事件,而`document.all("txt").focus()`和`.select()`则用于聚焦和选中指定元素。 `document.execCommand`是一个强大的功能,可以执行诸如复制、剪切、粘贴等...

    javascript 代码大全

    7. **绑定事件**:`document.captureEvents(Event.KEYDOWN)`用于开启事件捕获,指定监听keydown事件。 8. **访问窗体元素**:`document.all`集合可以用来获取页面上的元素,如`document.all("txt").focus()`聚焦...

    Javascript小技巧一箩筐

    - **事件绑定与解除**:`document.captureEvents()`和`xxx.detachEvent()`允许开发者更灵活地控制事件监听,特别是在复杂的页面结构中。 - **表单元素访问**:通过`document.窗体.elements`可以访问表单中的所有控件...

    javascript大全

    - `document.captureEvents(Event.KEYDOWN)`: 开始监听特定类型的事件,如键盘按下事件。 ### 元素操作与查询 - `document.getElementsByName("r1")`: 查询页面中name属性为"r1"的所有元素。 - `document....

Global site tag (gtag.js) - Google Analytics