第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

課程記錄整理


<!DOCTYPE html>

<html>

<head>

? ? <meta charset="utf-8">

? ? <title>HTML/DOM0級(jí)/DOM2級(jí)事件處理程序</title>

</head>

<body>

<div id="Box">

? ? <input type="button" value="html事件1" id="btn" onclick="alert('我是html事件1即直接插入')"/>

? ? <input type="button" value="html事件2" id="btn1" onclick="htm()"/>

? ? <input type="button" value="DOM0級(jí)事件" id="btn2" />

? ? <input type="button" value="DOM2級(jí)事件" id="btn3" />

? ? <a id="go">驗(yàn)證默認(rèn)跳轉(zhuǎn)行為</a>

</div>

<script type="text/javascript">

? ? function htm(){

? ? ? ? alert("我是html事件2即封裝函數(shù)。也是被DOM2級(jí)事件調(diào)用的函數(shù)");

? ? ? ? event.stopPropagation();//阻止冒泡事件,即阻止父元素的showBox事件觸發(fā)

? ? }//html事件2,此事件更改要改兩處,不方便后續(xù)優(yōu)化

? ? function showBox(){

? ? ? ? alert("這個(gè)函數(shù)用于驗(yàn)證冒泡事件")

? ? }

? ? function stopgoto(event){//接收event事件

? // ? ? ?event.stopPropagation();//阻止冒泡

? // ? ? ?event.preventDefault();//阻止默認(rèn)行為,使a的默認(rèn)跳轉(zhuǎn)行為取消

? ? }

? ? var dom0=document.getElementById("btn2");

? ? var dom2=document.getElementById("btn3");

? ? var Box=document.getElementById('Box');//驗(yàn)證冒泡事件

? ? var go=document.getElementById("go");

? ? dom0.onclick=function(){

? ? ? ? alert("我是DOM0級(jí)事件函數(shù)")

? ? }

? ? //dom0.onclick=null;//清除DOM0級(jí)事件


?/* ?dom2.addEventListener("click",htm,false);//此處為添加監(jiān)聽(tīng)事件。所有事件都要去掉ON,例click;調(diào)用函數(shù)htm;冒泡事件false.DOM2級(jí)事件可調(diào)用需要的函數(shù)

? ? dom2.addEventListener("click",function(){

? ? ? ? alert("DOM2級(jí)事件可添加多個(gè)事件,并獲取想要的屬性,this可引用被觸發(fā)的元素,即this表示被觸發(fā)的那個(gè)函數(shù)。見(jiàn)下面示例");

? ? },false);//this十分重要

? ? dom2.addEventListener("click",function(){

? ? ? ? alert(this.value);

? ? },false);//HTML事件沒(méi)法添加多個(gè)事件,DOM0級(jí)可以

? ? //dom2.removeEventListener("click",htm,false);//刪除DOM2運(yùn)用addEventListener() 所添加的事件

? ? //dom2級(jí)事件處理程序在IE中無(wú)效,所以要設(shè)置兼容性,此時(shí)要將DOM2級(jí)事件注釋掉。以下以btn3為例進(jìn)行IE方法演示

?*/

/* ? ?dom2.attachEvent("onclick",htm);//此時(shí)btn3z在IE中可用。此處事件要加上ON,與DOM有所區(qū)別。無(wú)false是因?yàn)镮E8及更早的瀏覽器只支持冒泡事件(false).

? ?// dom2.detachEvent("onclick",htm);//清除 dom2.attachEvent("onclick",htm);事件

*/

? ? //以下設(shè)置函數(shù),使btn3在多種瀏覽器中均可使用即跨瀏覽器事件處理

? ? var eventUtil={

? ? ? ? //添加句柄.如何給一個(gè)元素添加事件

? ? ? ? addHandler:function(element,type,handler){//type類型無(wú)ON,element給誰(shuí)添加,type添加類型,handler觸發(fā)的操作.target用于獲取事件目標(biāo)

? ? ? ? ? ? if(element.addEventListener){//判斷DOM2級(jí)

? ? ? ? ? ? ? ? element.addEventListener(type,handler,false);

? ? ? ? ? ? }

? ? ? ? ? ? else if(element.attachEvent){//判斷IE

? ? ? ? ? ? ? ? element.attachEvent(type,handler)

? ? ? ? ? ? }

? ? ? ? ? ? else{//判斷DOM0級(jí),低級(jí)和傳統(tǒng)瀏覽器,on為字符串,變量和字符串之間不可用.鏈接


? ? ? ? ? ? ? ?element['on'+type]=handler;//element[onclick] ===element.onclick

? ? ? ? ? ? }

? ? ? ? },

? ? ? ? removeHandler:function(element,type,handler){//刪除句柄。如何給一個(gè)元素刪除事件

? ? ? ? ? ? if(element.removeEventListener){

? ? ? ? ? ? ? ? element.removeEventListener(type,handler,false);

? ? ? ? ? ? }

? ? ? ? ? ? else if(element.detachEvent){

? ? ? ? ? ? ? ? element.detachEvent('on'+type,handler);

? ? ? ? ? ? }

? ? ? ? ? ? else{

? ? ? ? ? ? ? ? element['on'+type]=null;

? ? ? ? ? ? }

? ? ? ? },

? ? ? ? //對(duì)以上函數(shù)封裝判斷事件對(duì)象DOM與IE不同

? ? ? ? getEvent:function(event){//獲取事件。如何獲取兼容所有瀏覽器的事件對(duì)象

? ? ? ? ? ? return event?event:window.event;

? ? ? ? },

? ? ? ? getType:function(event){//獲取事件類型

? ? ? ? return event.type;

? ? },

? ? ? ? getElement:function(event){//如何獲取事件來(lái)自哪個(gè)元素

? ? ? ? ? ? return event.target || event.srcElement;

? ? ? ? },

? ? ? ? preventDefault:function(event){//判斷事件對(duì)象為DOM還是IE,選擇阻止默認(rèn)行為的方法

? ? ? ? ? if(event.preventDefault){//判斷DOM事件對(duì)象,執(zhí)行阻止默認(rèn)行為方法

? ? ? ? ? ? ? event.preventDefault();

? ? ? ? ? } ?else{

? ? ? ? ? ? ? event.returnValue=false;//判斷IE事件對(duì)象

? ? ? ? ? }

? ? ? ? },

? ? ? ? stopPropagation:function(event){//判斷事件對(duì)象為DOM還是IE,選擇阻止事件冒泡的方法

? ? ? ? if(event.stopPropagation){//判斷DOM事件對(duì)象

? ? ? ? ? ? event.stopPropagation()?

? ? ? ? }else{

? ? ? ? ? ? event.cancelBubble=true;//判斷為IE事件對(duì)象

? ? ? ? }

? ? }

}

//通過(guò)選擇判斷可讓其跨瀏覽器兼容.eventUtil這部分內(nèi)容可單獨(dú)放置在一個(gè)event.js文件,再調(diào)用<script src="event.js"/>

? ? eventUtil.addHandler(dom2,'click',htm);//調(diào)用

? ? eventUtil.addHandler(Box,'click',showBox);//調(diào)用id為Box

? ? eventUtil.addHandler(go,'click',stopgoto);//調(diào)用a的頁(yè)面跳轉(zhuǎn)事件,將事件go綁定

?// ? eventUtil.removeHandler(dom2,'click',htm);//刪除調(diào)用

</script>//此部分可放置于單獨(dú)的JS文件調(diào)用

</body>

</html>


正在回答

0 回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)