[问题] event.preventDefault();

楼主: m7m123d ( )   2015-02-08 10:03:54
遇到一个IE不执行的问题,下面简单举例描述我的问题。
a.php
<div class='testdiv'>
<a href='1'>1</a>
</div>
b.js
$('.testdiv').on('click', 'a', function(){
event.preventDefault();
var href = $(this).attr('href');
alert( href );
});
估歌浏览器按理想值进行,a tag并没有进行跳转,并且执行我想要的事件。
IE浏览器却跳转了。。。
试图使用其他方式,都没有效果。
event.returnValue = false;
event.cancelBubble = true;
event.stopPropagation();
<a href='javascript:;' title='1'>1</a>
<a href='javascript:void(0);' title='1'>1</a>
究竟是发生什么事~~ 唉~
到底是什么概念~~ 希望知道的大大推我一下,谢谢。
补充:
刚才用IE开启JQuery官网的event.preventDefault();范例可以停止跳转
http://api.jquery.com/event.preventdefault/
作者: qwer820404 (GB2)   2015-02-08 11:17:00
你有发现 范例人家没有在hre里面下 javascript:void或者是; 嘛 试试把那边设成正常值或者是 #
楼主: m7m123d ( )   2015-02-08 11:53:00
有唷, 还是不按我的牌出牌
作者: Kenqr (function(){})()   2015-02-08 12:26:00
event是空的。把function()改成function(event)就可以了。另外,浏览器按F12打开console可以看js执行有没有错误
楼主: m7m123d ( )   2015-02-08 16:22:00
加上event也无效, F12的错误除掉后依旧...应该说F12目前剩下的错误是:物件没有支援这个属性或方法'preventDefault'
作者: s25g5d4 (function(){})()   2015-02-08 19:07:00
把 event 改成别的名称 不要用 event
作者: serotw (弑龙)   2015-02-09 02:17:00
IE就是问题一推~建议撰写时先判断function是否存在if(event.preventDefault){event.preventDefault()}else{return false}
作者: mrbigmouth (大嘴先生)   2015-02-09 09:16:00
这里已经是用jQuery了....理论上要跨浏览器
作者: grence (dalalida)   2015-02-09 20:55:00
jQuery版本? 2.x不修旧IE,但没用过到底到多旧
作者: sonicjr (平凡中的不平凡)   2015-02-11 16:55:00
jQuery 2.x 不支援IE 6 7 8
楼主: m7m123d ( )   2015-02-15 13:50:00
当天try了好久,都没有用。隔天又try一次就如同Kenqr大说的一样,感谢大家支援我!!我使用的是JQ1.7。
作者: licson (licson)   2015-03-20 18:22:00
你看看你的callback的arguments到底有没有event这个变量在

Links booklink

Contact Us: admin [ a t ] ucptt.com