国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript事件模型實例分析

2019-11-20 13:16:24
字體:
來源:轉載
供稿:網友

本文實例講述了javascript事件模型的用法。分享給大家供大家參考。具體分析如下:

一、事件模型

冒泡型事件(Bubbling):事件由葉子節點沿祖先節點一直向上傳遞到根節點
捕獲型事件(Capturing):由DOM樹最頂元素一直到最精確的元素,與冒泡型事件相反
DOM標準事件模型:DOM標準既支持冒泡型事件,也支持捕獲型事件,可以說是兩者的結合體,首先是捕獲型,接著冒泡傳遞

二、事件對象

在IE瀏覽器中事件對象是window的一個屬性,在DOM標準中,event必須作為唯一的參數傳給事件處理函數

獲得兼容的event 對象:

function(event){   //event 是作為DOM標準的參數傳入處理函數  event = event ?event : window.event; } 

在IE中,事件的對象包含在event的srcElement中,而在DOM標準中,對象包含在target屬性中
獲得兼容的event 對象指向的元素:

var target =event.srcElement ? event.srcElement : event.target ;

前提是,保證event對象已經正確的獲取

三、事件監聽器

IE下,注冊的監聽器逆序執行,即后面注冊的先執行

element.attachEvent('onclick',observer); //注冊監聽器element.detachEvent('onclick',observer) //移除監聽器

第一個參數為事件名稱,第二個為回調處理函數

DOM標準下:

element.addEventListener('click',observer,useCapture) element.removeEventListener('click',observer,useCapture)

第一個參數為事件名稱,沒有“on”的前綴,第二個參數為回調處理函數,第三個參數說明回調函數是在捕獲階段調用還是冒泡階段調用,默認true為捕獲階段

四、事件傳遞

兼容地取消瀏覽器的事件傳遞

function someHandler(event){   event = event || window.event;   if(event.stopPropagation) //DOM標準   event.stopPropagation();   else   event.cancelBubble = true; //IE標準 } 

取消事件傳遞后的默認處理

function someHandler(event){   event = event || window.event;   if(event.preventDefault) //DOM標準   event. preventDefault ();   else   event.returnValue = true; //IE標準 }

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 特克斯县| 肃宁县| 永修县| 石台县| 宝应县| 龙江县| 永平县| 榆树市| 山东省| 伊金霍洛旗| 宁陵县| 百色市| 英德市| 都江堰市| 兖州市| 永平县| 平舆县| 涞源县| 辽阳县| 台中市| 德阳市| 永清县| 日照市| 米脂县| 贺州市| 建瓯市| 德庆县| 铁力市| 乐昌市| 湘乡市| 玛曲县| 东乌| 疏勒县| 黑水县| 冷水江市| 涡阳县| 奇台县| 抚松县| 洞头县| 山阴县| 无为县|