javaScript中的事件對象event

來源:互聯網
上載者:User

標籤:post   class   ie11   瀏覽器   type屬性   2014年   pos   name   rip   

事件對象event,每當一個事件被觸發的時候,就會隨之產恒一個事件對象event,該對象中主要包括了關於該事件的基本屬性,事件類型type(click、dbclick等值)、目標元素target(我的理解是事件來源對象,即觸發該事件的dom元素)等,以及一些與該事件相關的方法。取消事件預設行為preventDefault()、組織事件繼續冒泡或捕獲stopPropagation()等等,這裡我僅僅列舉了,項目中我用到的屬性和方法。

既然事件被觸發。就隨之產生了一個event對象。筆者在IE中測試了。不須要通過賦值就可以使用,也許低版本號碼的須要吧,Firefox瀏覽器是須要對其進行賦值的,在這裡我認為須要養成一個習慣。多謝一行代碼唄。每次在事件處理常式中使用event對象,都通過賦值的方式去使用:

var event = event||window.event;

事實上,預設參數數組中第一元素就是event對象,也就是說,能夠用數組元素賦值

var event = arguments[0];

type屬性。應該是最easy理解的,事件類型。單擊click,雙擊dbclick等等

target屬性,觸發事件的dom元素對象。我看到網上說target是Firefox瀏覽器。srcElement是IE中的,可是我測試的結果是。在IE11中兩個都能夠使用了,一樣的效果。可是Firefox中僅僅能使用target屬性,瀏覽器之間的實現方式能不能有個通用的標準呢,相容性非常糾結呢,所以和event對象的擷取一樣,建議是通過賦值的方式去擷取觸發事件的dom對象:

var target = event.target||event.srcElement;

preventDefault()方法是用來取消預設事件行為的,比方超連結,點擊超連結,會依據href屬性,跳到還有一個頁面。之前在項目中。就遇到非常多須要取消超連結的預設點擊行為,在點擊事件處理常式中。取消預設的事件行為,能夠例如以下操作:

if(event.preventDefault){//推斷該函數是否存在     event.preventDefault;}else{     returnValue = false;}

這樣也實現了取消超連結的預設行為,事實上在項目中,還看到別的同事使用的別的方式,也取消是預設的點擊行為

<a href="javaScript:void(0);">也行</a>

stopPropagation()方法直接就取消事件的繼續冒泡或者捕獲了,這個非常有用的,假設父元素和子項目都綁定了某個相同類型的事件,比方都綁定了click事件。如今使用者觸發了一個事件,事件在捕獲階段被觸發,針對父元素,則會繼續向下捕獲。進而觸發子項目的事件。針對子項目。在冒泡階段被觸發,也相同由於冒泡行為,會觸發父元素的事件。因此往往須要取消這樣的無意的觸發。

if(event.stopPropagation){//推斷是否存在      event.stopPropagation();}else{      event.cancleBubble = true;}


2014年9月30日22:04:18

興許項目中。假設還是用到了別的相關操作,我在繼續補充







javaScript中的事件對象event

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.