[問題] 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