タグ

ブックマーク / qiita.com/hrdaya (2)

  • IE系でinputイベントが発火しないのをなんとかしてみる(ついでにIME入力中は発火しないイベントも追加) - Qiita

    最初のコードはinputやtextareaでの値の変更時にIME入力中でなければ独自のイベントを発火するというものでしたが、IE系では「contenteditable="true"」を設定したエレメントでinputイベントが発火しないという他のブラウザとの差異がありましたので全面的に書き直しました。 最初のコードも旧コードとして残しておきます。 はじめに 以前jQueryでIME入力確定時にイベントを発行するという記事を投稿しましたが、inputやtextarea inputやtextarea、「contenteditable="true"」を設定したエレメントでの値の変更を監視するという面では不十分だった為、新たに書き直したものを公開します。 なお、2016年1月13日以降はWindowsVistaはIE9、その他はIE11のサポートのみとなる為、今回作成したものはIE9以降のサポートと

    IE系でinputイベントが発火しないのをなんとかしてみる(ついでにIME入力中は発火しないイベントも追加) - Qiita
    rryu
    rryu 2015/09/17
    CompositionEventはもう割と普通に使えるのか。
  • jQueryでIME入力確定時にイベントを発行する - Qiita

    新しいものに書き直しました 下記のものではうまくイベントが発火しない場合がありましたので、inputやtextareaの値が変わったらイベント発火(IME入力中を除く)に新バージョンとして書き直しましたので、そちらも参照ください。 はじめに テキスト入力項目で英数字は半角に統一したいけど、ユーザに「英数字は半角で入力してください」なんてエラーを表示するのはいただけないよねと思い、「それなら自動でフィルタリングしてあげればいいじゃん」なんて考えてしまったのが運のつき 日人には切っても切れないIME入力という魔物が住んでいました IMEの入力でなければ「keyup」のイベントを拾って変換してやればよいのですが、IME入力中にこれをやっちゃうと入力している文字が確定されちゃう ならば「keyup」のイベントをディレイしてやる と思ったら、キー入力の遅い人だと途中でやっぱり確定されちゃう はいは

    jQueryでIME入力確定時にイベントを発行する - Qiita
    rryu
    rryu 2015/09/13
    こんなに大変なのか……
  • 1