スキップしてメイン コンテンツに移動

javascripのinputイベントについて

日常の開発で、<input type="text">DOMのテキスト変更があった場合、よく

changeベントを使っていた。ある開発のきっかけで、inputイベントを知った。

changeベントと比べると、inputイベントのほうがリアルタイム的にイベントが

発生するため、使いやすい。


詳細をみてみよう。


change イベントは”要素の変更が終わったときにトリガされます。”と定義されているが、

わかりにくい。例えば、<input type="text">の要素があるとして、この要素に「12345」の

文字を入力しようとする、①1を入力し終わったときに、イベントがくるのか、それとも②12345を

入力し終わったときなのか?正直よくわからないが、②という人がいるでしょう!どっちも違う。

正しいのが、要素に変更を加え、その要素からカーソルが外れた場合に、トリガーされる。


では、inputイベントについてみてみよ。

inputイベントは”要素の値が変更されるたびにトリガされます。”と定義されている。

これがわかりやすい。つまり、要素の値を変更した場合、即時にイベントが来る。


change イベントとinputイベントを使い分けて、

リアルタイム性を求めない場合、change イベントを使う。

テキストを変更して、そのテキストをプレビューしたいといったリアルタイム性を求める機能なら、

inputイベントを使ったほうがいいでしょう。


コメント

このブログの人気の投稿

XMPPとは

XMPPとは、インスタントメッセージソフトなどに使われるXMLベースのオープンソース・プロトコルである。2004年に、IETF(Internet Engineering Task Force)でIMPP(Instant Messaging and Presence Protocol)の標準案に選ばれた。 Jabber社が開発したインスタントメッセージソフト「Jabber」のプロトコルを、セキュリティ機能などを追加して改良したものである。具体的な機能としては、インスタントメッセージソフトで必要不可欠となるメッセージの送受信や、プレゼンス状態の通知などを受け持っている。 XMPPは柔軟性や拡張性が高いのが特徴であり、JabberやGoogle Talkなどのインスタントメッセージソフトで採用されている。 XMPPを使っているサービスの例はCERN、アメリカの軍事衛星、BBC News、MLB、DuckDuckGoなどがある。また、SlackやHipchatなどのXMPP連携を行うコミュニケーションサービスも数多くある。 時間があれば、ぜひ使ってみたいと思います。