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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

關(guān)于獲取事件目標(biāo),target屬性和srcElement屬性在Firefox下沒有效果

代碼就是老師講的那些,然后在ie9和谷歌瀏覽器都能運(yùn)行成功,唯獨(dú)Firefox在響應(yīng)獲取事件目標(biāo)的時候就沒有效果,點(diǎn)擊“跳轉(zhuǎn)”,火狐是直接響應(yīng)彈出盒子事件,接著跳轉(zhuǎn)成功,如圖,對于獲取事件目標(biāo)沒有響應(yīng),控制臺也沒有提示錯誤,有遇到一樣問題的小伙伴嗎?求指教~

正在回答

5 回答

//獲取事件目標(biāo)(綁定該事件的元素)--firefox有bug

getElement:function()?{ ? ? ? ? ??

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

},



這里沒有傳event參數(shù)

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

emily973 提問者

非常感謝!疏忽大意了,謝謝
2017-01-02 回復(fù) 有任何疑惑可以回復(fù)我~

也是遇到這個問題,試了很多遍 ? firefox是可以運(yùn)行的了的

event.js

getElement:function(event){//這里要加參數(shù),同時在script.js文件里調(diào)用這個函數(shù)的時候也是要給它傳參的

return event.target || event.srcElement;

},

之前之所以一直顯示不出效果估計是因?yàn)椋?/p>

<script src="event.js"></script>

<script src="script.js"></script>

html文件在導(dǎo)入js文件的時候出問題,把前面“js/”去掉。(加上“js/”的話會提示找不到文件。)

0 回復(fù) 有任何疑惑可以回復(fù)我~

<input type='buttom' value='target' id='btn'>

<script>

window.onload=function(){

? ? var oBtn=document.getElementById('btn');

? ? oBtn.onclick=function(ev){

????????ev=ev|| window.event;

????????var ele=ev.target || ev.srcElement;

????????alert(ele.nodeName);

? ? };

};

</script>

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

emily973 提問者

對傳參的概念不是很了解,回頭補(bǔ)一下,總之,謝謝啦!
2017-01-02 回復(fù) 有任何疑惑可以回復(fù)我~
index.html
<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title>Document</title>
<script?src="js/event.js"></script>
<script?src="js/script.js"></script>
</head>
<body>
<div?id="box">
<!--?<input?type="button"?id="btn"?value="按鈕"?/>?-->
<a?href="event.html"?id="go">跳轉(zhuǎn)</a>
</div>
</body>
</html>

event.js

var?eventUtil={
//添加句柄
addHandler:function(element,type,handler)?{
if?(element.addEventListener)?{//dom2,兼容廣大瀏覽器
element.addEventListener(type,handler,false);
}else?if(element.attachEvent)?{//兼容IE瀏覽器
element.attachEvent('on'+type,handler);
}else{//dom0,兼容老舊瀏覽器
element['on'+type]=handler;
}
},?????//這個逗號一定一定要加!
//刪除句柄
removeHandler:function(element,type,handler)?{
if?(element.removeEventListener)?{
element.removeEventListener(type,handler,false);
}else?if?(element.detachEvent)?{
element.detachEvent('on'+type,handler)
}else{
element['on'+type]=null;
}
},
//一般瀏覽器能直接用event引入對象,但是ie瀏覽器尤其是ie8之前的版本需要window.event引入事件對象;所以要先判斷
//event=event||window.event;
getEvent:function(event)?{
return?event?event:window.event;?//相當(dāng)于return?event?||?window.event
},
//獲取事件類型(不存在瀏覽器兼容問題)
getType:function()?{
return?event.type;
},
//獲取事件目標(biāo)(綁定該事件的元素)--firefox有bug
getElement:function()?{
return?event.target?||?event.srcElement;??
},
//阻止事件的默認(rèn)行為
preventDefault:function(event)?{
if?(event.preventDefault)?{
event.preventDefault();
}else{
event.returnValue=false;//設(shè)置為false表示阻止事件的默認(rèn)行為
}
},
//阻止事件冒泡
stopPropation:function()?{
if?(event.stopPropation)?{
event.stopPropation();
}else?{
event.cancelBubble=true;//設(shè)置為true表示阻止冒泡?設(shè)置為false表示不阻止冒泡
}
}
}

script.js

window.onload=function()?{
var?go=document.getElementById('go'),
box=document.getElementById('box');
eventUtil.addHandler(box,'click',function(e){
alert("我是整個父盒子");
});
//想知道事件來自哪個方法
eventUtil.addHandler(go,'click',function(e)?{
e=eventUtil.getEvent(e);?
alert(eventUtil.getElement(e));??//firefox不行
//eventUtil.preventDefault(e);???//firefox不行??
//eventUtil.stopPropation(e);
});
}


1 回復(fù) 有任何疑惑可以回復(fù)我~

圖呢?代碼貼出來,火狐可以的,火狐是不支持IE的一些方法,但是DOM是可以的。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

emily973 提問者

貼了。
2017-01-02 回復(fù) 有任何疑惑可以回復(fù)我~
#2

emily973 提問者

謝謝,原來是忘記傳參了
2017-01-02 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于獲取事件目標(biāo),target屬性和srcElement屬性在Firefox下沒有效果

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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