のonclickでreturn falseしてるのにIEだけ画面遷移しちゃう

<a href="/" onclick="return false;">画面遷移してほしくないリンク</a>

↑としているのになぜかIEだけしっかり画面遷移する。

そんなばかな!
と思ったら自分がばかだったメモ。


こういうことでした

<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript">
$(function(){
       $('#link1').click(function(e){
       });
       $('#link2').click(function(e){
               return true;
       });
});
</script>
<a id="link1" href="/" onclick="return false;">何も起こらない</a>
<a id="link2" href="/" onclick="return false;">IEだけ画面遷移</a>

onclickでreturn falseとなっているaタグに
jQueryでクリックイベント設定してそこでreturn trueしていると、

  • IE:元のaタグのクリック動作有効
  • その他:元のaタグのクリック動作無効

となるみたい。


facebookのshareボタンを設置してボタンを押すと普通は新しいwindowが開いてそこでコメント入力したりするのに、IEだけ元ページもfacebookに遷移してしまって困ったことになったときの顛末。