« VoIPアダプタのファーム更新電子入札とJavaで苦戦 »

Firefoxでのキー入力判定処理

Firefoxでのキー入力判定処理

パーマリンク 2009/05/29 23:01:48 著者: kumaold メール
カテゴリ: プログラミング, Javascript/Java

入力フォームでEnterキーを押すと検索ができるようにJavaScriptでキー入力判定するところでブラウザ間の仕様の違いにはまったのでメモ書き。


普通はIEでやるときは、inputタグに onKeyPress="keycheck();" とか書いて、JavaScript側でこんな感じでやればいいわけですが・・・

function keycheck() {
    if (event.keyCode == 13) {	// Enterキーが押されたとき
        search();
    }
}

これではFirefoxだとうまいこと動いてくれないんですよ。


どうも色々調べてみると、Firefoxではevent.keyCodeがないのと、Eventオブジェクトがグローバルでないため常に0が返ってきてしまうようです。

そこで、呼び出す側で onKeyPress="keycheck(event);" にした上で、

function keycheck(event) {
    // Enterキーが押されたとき
    if (event.keyCode == 13 || event.charCode == 13) {
        search();
    }
}

こうすることでFirefoxでも問題なく動作します。


改訂第4版 JavaScript ポケットリファレンス改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
売り上げランキング : 3877
おすすめ平均

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2009%2F05%2F29%2Ffirefoxa_sa_ra_sa_fa_ya_a_car_a_bc" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     powered by b2evolution