JS setCapture 區(qū)域外事件捕捉
更新時(shí)間:2010年03月18日 21:14:33 作者:
鼠標(biāo)捕獲(setCapture)作用是將鼠標(biāo)事件捕獲到當(dāng)前文檔的指定的對(duì)象。這個(gè)對(duì)象會(huì)為當(dāng)前應(yīng)用程序或整個(gè)系統(tǒng)接收所有鼠標(biāo)事件。
不過setCapture不支持鍵盤事件, 只能捕獲以下鼠標(biāo)事件:onmousedown、onmouseup、onmousemove、onclick、ondblclick、onmouseover和onmouseout。
程序中主要是要捕獲onmousemove和onmouseup事件。
msdn的介紹中還說(shuō)到setCapture有一個(gè)bool參數(shù),用來(lái)設(shè)置在容器內(nèi)的鼠標(biāo)事件是否都被容器捕獲。
參數(shù)為true時(shí)(默認(rèn))容器會(huì)捕獲容器內(nèi)所有對(duì)象的鼠標(biāo)事件,即容器內(nèi)的對(duì)象不會(huì)觸發(fā)鼠標(biāo)事件(跟容器外的對(duì)象一樣);
參數(shù)為false時(shí)容器不會(huì)捕獲容器內(nèi)對(duì)象的鼠標(biāo)事件,即容器內(nèi)的對(duì)象可以正常地觸發(fā)事件和取消冒泡。
object.setCapture() 當(dāng)一個(gè)object的被 setCapture 后,他的方法將會(huì)被繼承到整個(gè)文檔進(jìn)行捕獲。當(dāng)不需要把方法繼承到整個(gè)文檔捕獲時(shí),要用 object.releaseCapture() 來(lái)釋放.
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')">點(diǎn)一下IE的菜單或者按鈕看看:)
又或者IE窗口外的地方</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.getElementById("m_Div").setCapture()
//-->
</SCRIPT>
</BODY>
</HTML>
在調(diào)用setCapture()后, 捕捉到事件后自動(dòng)釋放, 如果在連續(xù)對(duì)事件捕捉,需要在調(diào)用的事件里再次執(zhí)行setCaptuer()
程序中主要是要捕獲onmousemove和onmouseup事件。
msdn的介紹中還說(shuō)到setCapture有一個(gè)bool參數(shù),用來(lái)設(shè)置在容器內(nèi)的鼠標(biāo)事件是否都被容器捕獲。
參數(shù)為true時(shí)(默認(rèn))容器會(huì)捕獲容器內(nèi)所有對(duì)象的鼠標(biāo)事件,即容器內(nèi)的對(duì)象不會(huì)觸發(fā)鼠標(biāo)事件(跟容器外的對(duì)象一樣);
參數(shù)為false時(shí)容器不會(huì)捕獲容器內(nèi)對(duì)象的鼠標(biāo)事件,即容器內(nèi)的對(duì)象可以正常地觸發(fā)事件和取消冒泡。
object.setCapture() 當(dāng)一個(gè)object的被 setCapture 后,他的方法將會(huì)被繼承到整個(gè)文檔進(jìn)行捕獲。當(dāng)不需要把方法繼承到整個(gè)文檔捕獲時(shí),要用 object.releaseCapture() 來(lái)釋放.
Mozilla 也有類似的功能,方法稍微不同
window.captureEvents(Event.eventType)
window.releaseEvents(Event.eventType)
事例:
復(fù)制代碼 代碼如下:
<HTML>
<BODY>
<div id="m_Div" style="width:200px;height:200px;border:1px solid #b0bca5;padding:2px" onclick="alert('Hello')">點(diǎn)一下IE的菜單或者按鈕看看:)
又或者IE窗口外的地方</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.getElementById("m_Div").setCapture()
//-->
</SCRIPT>
</BODY>
</HTML>
在調(diào)用setCapture()后, 捕捉到事件后自動(dòng)釋放, 如果在連續(xù)對(duì)事件捕捉,需要在調(diào)用的事件里再次執(zhí)行setCaptuer()
相關(guān)文章
JS實(shí)現(xiàn)仿FLASH效果的豎排導(dǎo)航代碼
這篇文章主要介紹了JS實(shí)現(xiàn)仿FLASH效果的豎排導(dǎo)航代碼,涉及JavaScript基于定時(shí)函數(shù)動(dòng)態(tài)設(shè)置頁(yè)面元素樣式的技巧,具有FLASH變換效果,需要的朋友可以參考下2015-09-09
Next.js使用getServerSideProps進(jìn)行服務(wù)器端渲染demo
這篇文章主要為大家介紹了Next.js使用getServerSideProps進(jìn)行服務(wù)器端渲染demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
JavaScript中in和hasOwnProperty區(qū)別詳解
in操作符只要通過對(duì)象能訪問到屬性就返回true。hasOwnProperty()只在屬性存在于實(shí)例中時(shí)才返回true。下面通過本文給大家分享JavaScript中in和hasOwnProperty區(qū)別詳解,感興趣的朋友一起看看吧2017-08-08
Bootstrap按鈕組簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Bootstrap按鈕組的簡(jiǎn)單實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

