WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<a href="">のイベントハンドラの返り値にfalseを指定しても実行されてしまう

0:[投稿] yuni [2007/02/04 22:29 ] [環境:Firefox, WinXP perl]

Firefoxで<a>の onclick で false を返しているのですが、hrefの場所に飛んでしまいます。
IEで同じように attachEvent して false を返すとページは飛ばないのですが、Firefoxでも同じようなことは出来ますでしょうか?

<script>
var a = document.createElement("a");
a.href = "http://www.yahoo.co.jp";
a.innerHTML = "test";
a.addEventListener("click", function(){ alert(1); return false; }, false); // falseを返すのに飛んでしまう...
document.body.appendChild(a);
</script>


1:[回答] みすず [2007/02/10 14:46 ]

FireFoxの環境がないのでわからないのですが、hrefに#を指定するしかないのでは?
参考程度にどうぞ


2:[回答] 燕雀 [2007/02/12 11:54 ]

preventDefault() を使う方法もあります.
サンプル例を修正すると,
---------------
a.addEventListener("click", function(e){alert(1);e.preventDefault();}, false);
---------------
とします.


3:[完了] yuni [2007/02/12 12:56 ]

>>2
有難うございます。出来ました。
preventDefaultなんてものがあるんですね。勉強になりました。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]