aタグのonclickを使うときの落とし穴(IE6)

カテゴリ:Javascript小技 2008年11月14日 19:09

今回、偶然遭遇した IE6 のバグ(?)をメモしておきます。
現象は、img 要素でマークアップした画像のボタンに a 要素の onclick なんかで処理をさせる場合のもの。n

今回、form の外から submit() を実行する必要があったので、onclick に関数を設定し、その関数内で処理を行ったあと、form の submit() を実行させたのですが・・。
なんでか、IE6 だけどうしても動かない。なにをしても動かない。
原因はよくわからないが、onclickに設定した関数のあとにreturn falseを追加したらうまく動いた。n

【推測】

社内で協議の結果、a 要素自身の動作と onclick で設定した submit() の処理がぶつかっているのでは? ということに。
その証拠になるかは分からないけど、submit 処理をたとえば

▼EntryMore▼

などとすると、これはこれで想定した通りに動いてくれた。n

【まとめ】

ということで、a 要素に onclick で処理を入れるときは必ずreturn false;を指定しよう、ということで。n

この記事のカテゴリー一覧を見る⇒Javascript小技

  • このエントリーをはてなブックマークに追加

トラックバックURL

http://css-eblog.com/cgi-bin/mt/mt-tb.cgi/104