引用
转载自: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小技巧,觉得用来查询JS的事件挺方便,主要是事件源对象event.srcElement.tagName ,event.srcElement.type,捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键event...
在Mozilla中,可以使用window对象的captureEvents方法来捕获事件,并用releaseEvents方法来释放事件。通过这种方式,开发者同样可以控制事件的捕获和释放。 示例代码演示了如何使用setCapture方法。在代码中,一个...
document.captureEvents(Event.KEYDOWN); 访问窗体元素 document.all("txt").focus(); document.all("txt").select(); 窗体命令 document.execCommand 窗体COOKIE document.cookie 菜单事件 document....
document.captureEvents(Event.KEYDOWN); 访问窗体元素 document.all("txt").focus(); document.all("txt").select(); 窗体命令 document.execCommand 窗体COOKIE document.cookie 菜单事件
Firefox 提供了`captureEvents`和`releaseEvents`,这两个方法与IE的`setCapture`和`releaseCapture`类似,但参数是一个事件类型,如`Event.MOUSE_DOWN`,允许更精确地控制要捕获的事件类型。 ### 总结 `...
document.captureEvents(Event.KEYDOWN); ``` **3. `document.all("txt").focus()`** - **作用**:使元素获得焦点。 - **示例**: ```javascript document.all("txt").focus(); ``` **4. `document.all("txt...
`setCapture`方法的作用是在当前元素上设置事件捕获,这意味着从当前元素到根节点的所有鼠标事件都将被该元素接收,即使鼠标移动到了其他元素上。这对于处理拖拽事件特别有用,因为用户在拖动过程中可能会将鼠标移到...
4. **事件处理**:当用户触发特定事件(如点击按钮、链接或其他交互元素)时,JavaScript函数会被调用以执行相应的操作。例如,点击“关闭”按钮时,对话框应该消失;点击遮罩层时,可能也有关闭对话框的需求。 5. ...
从网上看到setCapture方法,了解了一下,大体是这样的意思,当在IE文档某个区域中使用了这个方法,并且写了onclick或者 onmouse***等有关的鼠标事件方法,那么它就会监视相应的鼠标操作,即使你的鼠标移出了IE,它也一样能...
在编程领域,尤其是在Windows应用程序开发中,经常需要处理与鼠标交互的事件,比如捕获鼠标的当前位置。易语言,作为一款国内自主研发的编程语言,以其简单易学的特点深受初学者和开发者喜爱。本文将深入探讨如何...
4. **元素事件绑定与解除**:`document.captureEvents`和`document.all.xxx.detachEvent`允许对元素绑定或解除事件监听器,实现了事件的精确控制。 5. **下拉框操作**:`下拉框.options`属性提供了对下拉列表的访问...
6. 绑定事件:`document.captureEvents(Event.KEYDOWN)` 可以捕获键盘事件,而 `document.all("txt").focus();` 和 `document.all("txt").select();` 分别用于聚焦元素和选中元素的文本。 7. 窗体命令:`document....
1. **`document.captureEvents(Event.KEYDOWN)`** - 捕获特定类型的事件,例如键盘按下的事件。 2. **`document.all("txt").focus()`** - 将焦点设置到id为“txt”的元素上。 3. **`document.all("txt").select()`...
`document.captureEvents(Event.KEYDOWN)`用于捕获键盘事件,而`document.all("txt").focus()`和`.select()`则用于聚焦和选中指定元素。 `document.execCommand`是一个强大的功能,可以执行诸如复制、剪切、粘贴等...
7. **绑定事件**:`document.captureEvents(Event.KEYDOWN)`用于开启事件捕获,指定监听keydown事件。 8. **访问窗体元素**:`document.all`集合可以用来获取页面上的元素,如`document.all("txt").focus()`聚焦...
- **事件绑定与解除**:`document.captureEvents()`和`xxx.detachEvent()`允许开发者更灵活地控制事件监听,特别是在复杂的页面结构中。 - **表单元素访问**:通过`document.窗体.elements`可以访问表单中的所有控件...
- `document.captureEvents(Event.KEYDOWN)`: 开始监听特定类型的事件,如键盘按下事件。 ### 元素操作与查询 - `document.getElementsByName("r1")`: 查询页面中name属性为"r1"的所有元素。 - `document....