Tech エントリー[プログラミング]
a タグの href に # とか javascript:void(0) とかする理由
以下のような記述を見かけるが、これはリンクを無効にするため。
a href="javascript:void(0);"
こうした上で、a タグの onclick で関するを呼び出すパターンが多い。
つまり、以下のような感じ
a href="javascript:void(0)" onclick="function_name(); return false;"
っで、関数呼出し後の return false も肝で、クロスブラウザで挙動を合わせる場合に、onclick に関しても、見せ掛け上、処理が無効となるよう return false する必要がある。
実際には、途中の処理が実行されるので別ウィンドウ開くなどのアクションは正常に処理される。
プログラミング > JavaScript - void(0)
onClick に false を返すと、クリック自体が無効になり、リンクしなくなります。
例:
onClick="location.href='xxx'; ...; return false;"
としてみてはいかがでしょうか。
これで、javascript void(0)というアドレスのウィンドウは開かなくなるはずです。
おしえて!HOME'Sくん
そこで次のようにhref属性で開くURLを指定しておき、window.open()の第一引数には this.hrefを渡し、そして、window.open()の後にreturn false;でhref属性への イベントを抑制するとJavaScriptが有効の場合は小窓、無効または実装されていない 場合は普通のハイパーリンクとなります。
※ アクセシビリティの観点から、この方法が最善だろうと思います。
Amenti - HTML関係の話題
少し違う切り口で void(0) を読む
コメント (0) トラックバック (1) Atom/RSS
投稿: 2008年02月25日 16:26 / 最終更新: 2008年02月25日 17:09
» Mac で mkpasswd を使いたい
« JavaScript のコーディング規約 (コーディングスタイル)



コメント (投稿する)