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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

JS事件流與事件處理程序?qū)嵗治?/h1>
2024-05-06 15:35:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了JS事件流與事件處理程序。分享給大家供大家參考,具體如下:

1.事件流:從頁(yè)面中接收事件的順序

1.1 IE :事件冒泡流
1.2 Netscape :事件捕獲
1.3 DOM事件流 :事件捕獲階段——事件目標(biāo)階段——事件冒泡階段
DOM2級(jí)事件規(guī)定 :捕獲階段不會(huì)涉及目標(biāo)事件。

2.事件處理程序

事件 :用戶或者瀏覽器自身執(zhí)行的 某種動(dòng)作
事件處理程序 :響應(yīng)某個(gè)事件的 函數(shù) 。

2.1 HTML事件處理程序

用一個(gè)與該事件處理程序同名的HTML特性來(lái)指定。

2.1.1包含要執(zhí)行的具體動(dòng)作

<input type="button" value="Click me" onclick="alert('Clicked')"/>

2.1.2 調(diào)用其他地方定義的腳本

<input type="button" value="Click me" onclick="showMessage()"/>

2.1.3 缺點(diǎn)

1.時(shí)差問(wèn)題:使用try-catch塊捕捉錯(cuò)誤。onclick="try { showMessage() ;} catch(ex) {} "
2.程序的作用域鏈在不同瀏覽器中會(huì)導(dǎo)致不同結(jié)果 3.HTML和JS代碼耦合緊密

2.2 DOM0級(jí)事件處理程序

將一個(gè)函數(shù)賦值給一個(gè)事件處理程序?qū)傩裕纾簅nclick。

為事件處理程序賦值。

btn.onclick = function() {  alert( this.id );};

事件處理程序在元素的作用域中運(yùn)行,this指向當(dāng)前元素。

刪除事件處理程序:

btn.onclick = null;

2.3 DOM2級(jí)事件處理程序

addEventListener(處理的事件名,事件處理程序函數(shù),布爾值);

removeEventListener(處理的事件名,事件處理程序函數(shù),布爾值);

布爾值:捕獲階段調(diào)用事件處理程序:true。冒泡階段調(diào)用:false。大多數(shù)情況下用false。

btn.addEventListener("click" , function() {  alert(this.id);}, false);

好處:可以添加多個(gè)事件處理程序。事件按照添加先后順序執(zhí)行。

問(wèn)題:匿名函數(shù)無(wú)法移除。

最好寫成

var handler = function(){  alert(this.id);};btn.addEventListener("click", handler, false);btn.removeEventListener("click", handler, false);

2.4 IE事件處理程序

attachEvent(事件處理程序名稱,事件處理程序函數(shù));
detachEvent(事件處理程序名稱,事件處理程序函數(shù));

通過(guò)該方法添加的事件處理程序,都會(huì)被添加到冒泡階段。

btn.attachEvent("onclick",function(){  alert("clicked");});

注意:使用DOM級(jí)方法時(shí),事件會(huì)在所屬元素的作用域內(nèi)運(yùn)行;使用attachEvent()方法,事件處理程序會(huì)在全局作用域運(yùn)行,this==window。

好處:可以添加多個(gè)事件處理程序。后添加先執(zhí)行。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 门头沟区| 驻马店市| 依安县| 景泰县| 大石桥市| 卫辉市| 乌兰县| 香港 | 盐亭县| 赣榆县| 阳信县| 田东县| 江北区| 清远市| 海门市| 宜章县| 荆门市| 建瓯市| 利川市| 五寨县| 晴隆县| 景德镇市| 行唐县| 昭觉县| 沛县| 西华县| 师宗县| 裕民县| 苏尼特左旗| 施甸县| 横峰县| 屏东市| 徐汇区| 阿尔山市| SHOW| 崇明县| 鹤庆县| 腾冲县| 沧源| 安新县| 黄陵县|