摘要:什么是事件對(duì)象在觸發(fā)上的某個(gè)事件時(shí),會(huì)產(chǎn)生一個(gè)事件對(duì)象。包括導(dǎo)致事件的元素,事件的類型以及其他與特定事件相關(guān)的信息。鍵盤操作導(dǎo)致的事件對(duì)象中,會(huì)包含按下的鍵有關(guān)的信息。取消默認(rèn)行為,取消右鍵菜單阻止默認(rèn)事件環(huán)境菜單,上下文菜單
什么是事件對(duì)象?
在觸發(fā)DOM上的某個(gè)事件時(shí),會(huì)產(chǎn)生一個(gè)事件對(duì)象event。這個(gè)對(duì)象中包含著所有與事件有關(guān)的信息。
包括導(dǎo)致事件的元素,事件的類型以及其他與特定事件相關(guān)的信息。
比如:
鼠標(biāo)操作導(dǎo)致的事件對(duì)象中,會(huì)包含鼠標(biāo)位置的信息。
鍵盤操作導(dǎo)致的事件對(duì)象中,會(huì)包含按下的鍵有關(guān)的信息。
下面我們點(diǎn)擊document看看event包含哪些東西。
event事件對(duì)象不能兼容所有的瀏覽器,我們一般是采用下面這種方式進(jìn)行兼容。
var oEvent=ev || event;
如果參數(shù)不是ev而是event的時(shí)候,兼容方式也可以寫成下面這種格式。
document.onclick=function(event){ var oEvent=event || window.event; console.log(oEvent); }
測(cè)試代碼如下:
event常用屬性有哪些event兼容測(cè)試
oEvent.type;——獲取綁定的事件類型,比如click,mouseover等
oEvent.target;(在ie低版本中用event.srcElement)——返回觸發(fā)事件的元素。比如[object HTMLInputElement]指的是html里的input元素
oEvent.currentTarget;(ie低版本中不存在)表示當(dāng)前所綁定事件的元素,跟target的區(qū)別看下面
event.target和event.currentTarget的區(qū)別
oEvent.stopPropagation()[?pr?p?"ɡe??n];(在ie中用oEvent.cancelBubble=false)//用于阻止事件冒泡
oEvent.stopImmediatePropagation();//Immediate[??mi:di?t] //當(dāng)一個(gè)元素綁定多個(gè)事件處理程序的時(shí)候,事件會(huì)按照順序全部執(zhí)行,如果不想讓后面的事件處理程序執(zhí)行,就在當(dāng)前事件里加這個(gè)方法,就不執(zhí)行后面的事件處理程序了。
oEvent.preventDefault();(在ie低版本中用oEvent.returnValue=true)//阻止事件的默認(rèn)行為,比如阻止a的href鏈接。在智能設(shè)講用return false。
仿select下拉框、阻止默認(rèn)動(dòng)作、阻止默認(rèn)行為 a鏈接
oEvent.clientX;鼠標(biāo)的橫坐標(biāo)。
oEvent.clientY;鼠標(biāo)的縱坐標(biāo)。
阻止默認(rèn)事件普通事件是沒有返回值的,在事件中我們可以通過return false來阻止默認(rèn)事件。下面我們?cè)谟益I菜單中通過return false阻止彈出右鍵菜單。
我們?cè)谀硞€(gè)動(dòng)作里用return false告訴瀏覽器,不用你幫忙了,我們自己處理。比如下面的代碼我們?cè)趏ncontextmenu右鍵菜單事件里return false告訴瀏覽器,我不需要默認(rèn)的菜單了,如果我們需要一個(gè)自定義菜單,我們可以return false默認(rèn)菜單然后自己定義自己的菜單。
return false取消默認(rèn)行為,取消右鍵菜單 oncontextmenu環(huán)境菜單,上下文菜單
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/108453.html
摘要:事件事件就是瀏覽器告知程序,用戶的行為,用戶點(diǎn)擊了頁面中的某個(gè)按鈕或者用戶輸入用戶名或密碼等操作可以稱為事件事件的類型事件根據(jù)使用的場(chǎng)景不同,可以分為如下幾種依賴于設(shè)備的輸入事件鍵盤事件和鼠標(biāo)事件,這些事件都是直接和設(shè)備相關(guān)的獨(dú)立于設(shè)備的輸 事件 事件就是瀏覽器告知JavaScript程序,用戶的行為,用戶點(diǎn)擊了HTML頁面中的某個(gè)按鈕或者用戶輸入用戶名或密碼等操作可以稱為事件 事件的...
摘要:事件捕獲團(tuán)隊(duì)提出的另一種事件流叫做事件捕獲。所有節(jié)點(diǎn)中都包含這兩個(gè)方法,并且它們都接受個(gè)參數(shù)要處理的事件名作為事件處理程序的函數(shù)和一個(gè)布爾值。最后這個(gè)布爾值參數(shù)如果是,表示在捕獲階段調(diào)用事件處理程序如果是,表示在冒泡階段調(diào)用事件處理程序。 JavaScript 程序采用了異步事件驅(qū)動(dòng)編程模型。在這種程序設(shè)計(jì)風(fēng)格下,當(dāng)文檔、瀏覽器、元素或與之相關(guān)的對(duì)象發(fā)生某些有趣的事情時(shí),Web 瀏覽器...
摘要:另外,標(biāo)準(zhǔn)事件對(duì)象還有一個(gè)屬性,該屬性在事件處理函數(shù)當(dāng)中始終與相等,而屬性則是指向事件觸發(fā)的具體目標(biāo)。取消事件默認(rèn)行為有如下的標(biāo)準(zhǔn)事件對(duì)象使用的方法取消事件默認(rèn)行為。而在標(biāo)準(zhǔn)事件綁定當(dāng)中,的值等于被綁定的元素。 標(biāo)準(zhǔn)的事件綁定函數(shù)是 addEventListener 函數(shù),而 IE 瀏覽器(IE9 以下)則是用 attachEvent。 這兩個(gè)函數(shù)中的事件處理函數(shù)都可以傳入一個(gè) eve...
摘要:在所有應(yīng)用中事件處理都是非常重要的所有的均通過事件綁定到上所以大多數(shù)前端工程師需要花費(fèi)很多時(shí)間來編寫和修改事件處理程序遺憾的是在誕生之初這部分內(nèi)容并未受太多重視甚至當(dāng)開發(fā)者們開始熱衷于將傳統(tǒng)的軟件架構(gòu)概念融入到里時(shí)事件綁定仍然沒有收到多大重 在所有JavaScript應(yīng)用中事件處理都是非常重要的. 所有的JavaScript均通過事件綁定到UI上, 所以大多數(shù)前端工程師需要花費(fèi)很多時(shí)間...
摘要:布爾值表示捕獲階段調(diào)用事件處理程序,表示冒泡階段通過對(duì)象的方法,也可以定義事件的回調(diào)函數(shù)。對(duì)象會(huì)被作為第一個(gè)參數(shù)傳遞給事件監(jiān)聽的回調(diào)函數(shù)。布爾默認(rèn)值是,當(dāng)設(shè)置成時(shí)用以取消事件的默認(rèn)行為與中的相同。 其實(shí)這篇文章挺早之前就寫了,但是由于sf保存方面的bug,所以當(dāng)時(shí)寫了一大堆,結(jié)果沒保存,覺得這個(gè)沒寫完是個(gè)不小的遺憾,今天正好有空,就給補(bǔ)充下了,也正好給我的javascript學(xué)習(xí)總結(jié)做...
摘要:響應(yīng)某個(gè)事件的函數(shù)就叫事件處理程序或事件偵聽器。為事件指定事件處理程序的方法主要有種。事件處理程序事件直接加在元素上。事件委托利用冒泡的原理,把事件加到父元素或祖先元素上,觸發(fā)執(zhí)行效果,解決事件處理程序過多問題。事件委托優(yōu)點(diǎn)提高性能。 JavaScript簡(jiǎn)單入門可以看看我丑丑的Github博客JavaScript簡(jiǎn)單入門 事件 JavaScript與HTML之間的交互是通過事件實(shí)現(xiàn)的...
閱讀 1655·2023-04-25 16:29
閱讀 961·2021-11-15 11:38
閱讀 2300·2021-09-23 11:45
閱讀 1428·2021-09-22 16:03
閱讀 2545·2019-08-30 15:54
閱讀 1207·2019-08-30 10:53
閱讀 2606·2019-08-29 15:24
閱讀 1107·2019-08-26 12:25