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上倒是成功阻止了。