2012-04-19 11 views
0

私は、ユーザーが州を選択し、それぞれの都市と郵便番号を選択するのに役立つAJAXシステムセットアップを持っています。jquery .changeイベントの選択タグでクロムの奇妙な作業

問題は.change()イベントがクロムで機能しないことです。私のマウスを使って作業している限り、それはすべていいですが、キーボードに切り替えると死ぬでしょう。 .change()イベントは、キーボードをクリックするたびに発生します。

Firefoxで同じスクリプトが正常に動作します。ここで働くマウスはクロムと同じです。しかしキーボードを使用すると、.change()イベントは発生しません。これは、ぼかしまたはenterキーが押されたときにトリガします。

私はChromeの回避策を探しています。そのため、Firefoxと同じように動作します。

まだ他のブラウザをテストしていません。

編集:
私がもし誤って、彼らはアヤックスが再び発射される値を変更せずにselectタグをクリックするか、スキップするので、それは、通常のユーザーのためのより多くの苦痛になるよう.blur().click()イベントを使用して喜んでいないです。

私のコードはすべていいです。

$('#state').change(function(event) {}); 

この行は変更イベントで動作するはずです。これはキーボードでChromeを使用するまで続きます。

+2

コードを投稿してください。 –

答えて

1

あなたはchangeイベントとkeypressイベントの両方をバインドしないでください。そうすれば、すべてのブラウザで作業できるようになります。したがって、匿名ではなくコールバック関数を定義します。

function changeCallback(){} 

$("#state").change(changeCallback).keypress(changeCallback); 
+0

'.bind()'を使うこともできます。 –

+0

私はそれらを両方持っていたいとは思わない。それがキーダウンイベントであれば、変更イベントがトリガーされるのを止めたい。 – abhig10

関連する問題