亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

IE阻止默認行為的代碼是不是對IE10無效?

<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>無標題文檔</title>
</head>

<body>
<div?id="box">
<input?type="button"?id="btn1"?value="按鈕"??/>
<a?id="gop"?href="事件處理程序(BUG).html">跳轉頁面</a>
</div>
<script?type="text/javascript">
//事件對象
var?btn1=document.getElementById('btn1');
var?box=document.getElementById('box');
var?gop=document.getElementById('gop');
btn1.addEventListener('click',showMes,false);
function?showMes(ev){
	alert(ev.type);
//	var?ele=ev.target;
	var?ele=ev.srcElement;//IE訪問事件標簽
	alert(ele);
	alert(ev.target.nodeName);
//	ev.stopPropagation();//這行代碼阻止了事件冒泡
	ev.cancelBubble=false;//IE瀏覽器阻止事件冒泡
}
function?showBox(){
	alert("這個事件證實了事件冒泡");
}
//阻止事件冒泡
function?stopGoto(ev){
	ev.stopPropagation();
//	ev.preventDefault();//阻止了默認行為,阻止標簽a的跳轉
	ev.returnValue=false;//IE阻止默認行為,對IE10貌似無效
}
box.addEventListener('click',showBox,false);
gop.addEventListener('click',stopGoto,false);
</script>
</body>
</html>

請看stopGoto這個函數,我在函數里寫了ev.returnValue=false;這句話,想要阻止IE瀏覽器上a標簽的默認行為,但是在IE10中運行的時候發現,沒有成功阻止。chrome上倒是成功阻止了。

正在回答

2 回答

ev.returnValue=false ?這個改成 window.event.returnValue=false

0 回復 有任何疑惑可以回復我~

可以阻止的,是因為你上面的代碼在IE里面有報錯,你代碼里面沒有用封裝的方式都添加事件,在IE里面不能正確執行,所以,阻止不了,

請使用封裝好的工具對象:

var EventUtil={
? ?addHandler:function(element,type,handler){
? ? ? ?if(element.addEventListener)
? ? ? ?{
? ? ? ? ? ?element.addEventListener(type,handler,false);
? ? ? ?}else if(element.attachEvent){
? ? ? ? ? ?element.attachEvent('on'+type,handler);
? ? ? ?}else
? ? ? ?{
? ? ? ? ? ?element['on'+type]=handler;
? ? ? ?}
? ?},
? ?removeHandler:function(element,type,handler){
? ? ? ?if(element.removeEventListener)
? ? ? ?{
? ? ? ? ? ?element.removeEventListener(type,handler,false);
? ? ? ?}else if(element.attachEvent){
? ? ? ? ? ?element.detachEvent('on'+type,handler);
? ? ? ?}else
? ? ? ?{
? ? ? ? ? ?element['on'+type]=null;
? ? ? ?}
? ?},
? ?getEvent:function(event){
? ? ? ?return event?event:window.event;
? ?},
? ?getType:function(event){
? ? ? ?return event.type;
? ?},
? ?getTarget:function(event){
? ? ? ?return event.target||event.srcElement;
? ?},
? ?preventDefault:function(event)
? ?{
? ? ? ?if(event.preventDefault)
? ? ? ?{
? ? ? ? ? ?event.preventDefault();
? ? ? ?}else
? ? ? ?{
? ? ? ? ? ?event.returnValue=false;
? ? ? ?}
? ?},
? ?stopPropagation:function(event)
? ?{
? ? ? ?if(event.stopPropagation)
? ? ? ?{
? ? ? ? ? ?event.stopPropagation();
? ? ? ?}else
? ? ? ?{
? ? ? ? ? ?event.cancelBubble=true;
? ? ? ?}

? ?}
}

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

IE阻止默認行為的代碼是不是對IE10無效?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號