調(diào)用事件:
事件對象
什么是事件對象?在觸發(fā)dom上的事件是都會產(chǎn)生一個事件對象event。例如鼠標(biāo)點擊的時候,自己就會產(chǎn)生比如點擊的類型啊 還要那個元素發(fā)出的
dom 事件對象 type 屬性用于獲取事件對象, target屬性 用于獲取事件目標(biāo),stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默認(rèn)行為
IE中的事件對象 type 屬性 用于獲取事件對象, srcElement屬性 用于獲取事件目標(biāo) cancelBubble屬性 用于阻止事件冒泡 設(shè)置為true是表示阻止 false表示不阻止
returnValue 屬性 用于阻止事件的默認(rèn)行為 設(shè)置為false的時候表示阻止
代碼如下:
// 兼容各個瀏覽器 跨瀏覽器事件處理------- 統(tǒng)一進(jìn)行封裝
var EventHandle = {
// element : 元素 , type: 點擊事件 ,handle : 實行的方法
//添加句柄
addEventHandle: function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);//---false //代表冒泡 dom2級
}
else if (element.attachEvent) {
element.attachEvent("on"+type, handler);
} else {
element["on" + type] = handler;
}
},
//刪除句柄 事件處理不起作用
removeEventHandle: function (element, type, handler) {
if (element.removeEventListener) { // 支持dom2級的事件處理 type是 onclick
element.removeEventListener(type, handler, false); //---false //代表冒泡
}
else if (element.detachEvent) {
element.detachEvent("on"+type, handler); //支持IE
} else {
element["on" + type] = null;// dom0級事件處理 傳統(tǒng)的點擊事件
}
},
//獲取事件對象 兼容瀏覽器的所有對象
getEvent: function (event) {
return event ? event : window.event; //在IE瀏覽器的低版本中需要的是window.event
},
//獲取事件類型 是點擊呢還是鼠標(biāo)移動
getType:function(event){
return event.type;
},
//獲取當(dāng)前的那個元素
getElement: function (event) {
return event.target || event.srcElement;
},
//阻止事件的默認(rèn)行為
: function (event) {
if (event.preventDefault) {
event.preventDefault();
}
else {
event.returnValue = false;
}
},
//阻止事件冒泡
stopPropagation: function (event) {
if (event.stopPropagation) {
event.stopPropagation();
}
else {
event.cancelBubble = true;
}
}
}
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。