2006年06月25日

チェックボックスのonChangeイベント @ Windows

複数のチェックボックスが有る場合に、全てのチェックボックスにチェックを入れるのが面倒って事で、全てのチェックボックスにチェックを入れる「全選択」チェックボックスを追加して、Javascriptでその他のチェックボックスのチェック状態を変更する仕組みを作ったのですが、onChangeイベントを使うとInternet Explorerだと上手く動作しません。全く動作しないのならば理解できるのですが、「全選択」チェックボックスとは逆の動きになったり、他のチェックボックスをチェックすると全選択状態になったり、奇妙な挙動をします。Firefoxだと問題ないんですけどね。

少し調べてみたら、Internet Explorerのフォームの要素はイベントが抜けていることがあるらしい。もしかするとonChangeイベント自体が正しく実装されてないのか?

仕方がないので、onClickを使うことにしました。まぁこれを使うのが無難なんだけど、何故か最初にonChangeで作ってしまったんですよね。で、Internet Explorerで具合悪いことを発見。

何処の時点で具合悪くなっているのか調べてないのですが、labelを使ったりしているので、その辺の絡みで具合悪いのかも。ラベルをクリックするとそこでonClickイベントが発生しているはずで、その次にチェックボックスの内容が変化し、そこでonChangeが発生する。挙動からするとラベルをクリックしてラベルのonClickイベントが発生。チェックボックスのonClickイベントが発生に成っていると思われるので、まぁ。onClickイベントでも良いのですが、何となく気持ち悪いなぁ。ラベルをクリックした場合、onClickイベントが発生するのはラベルだけ、チェックボックスはonChangeだけのイベント発生になるべきだと思います。

Internet Explorer 6(Windows)、Firefox 1.5.0.4(Mac)、Opera 9(Mac)、Safari 1.3.2でチェックして問題なかったので、onClickで行きます。

Internet Explorerでチェックしてなかったから、予想外の手間が増えて気付いたら朝から夕方まで何も食べてなかった。久々にお腹が鳴ってその事実に気付きました。(T_T) 不具合はこれだけではなく、仕様が何度も変更になっているので、その影響で不具合とかゴミが大量にソースに紛れてます。トホホ。

閲覧数: 15364 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト