2012-04-19 30 views
0

我有一個AJAX系統設置,幫助用戶選擇一個狀態,然後選擇相應的城市和郵編。jquery .change事件選擇標籤在奇怪的鉻上工作

問題是.change()事件不適用於chrome。只要我用我的鼠標做任何工作,它都很好,但是當我切換到鍵盤時,它就會死亡。鍵盤上的每次點擊都會觸發.change()事件。

相同的腳本在Firefox中正常工作。在這裏工作的鼠標和鉻一樣。但是當我使用鍵盤時,它不會觸發.change()事件。它會在模糊或按下輸入鍵時觸發它。

我正在尋找chrome的解決方法,以便它可以像Firefox一樣工作。

我還沒有測試過其他瀏覽器。

編輯:
我不願意用.blur().click()事件,這將是更痛苦的普通用戶,因爲如果錯誤他們點擊或跳過一個選擇的標籤不改變AJAX將被再次觸發值。

我的代碼都很好。

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

這條線應該在變化的事件工作,它直到我用我的鍵盤上的鉻。

+2

請張貼您的代碼。 – 2012-04-19 08:30:44

回答

1

爲什麼不綁定更改和按鍵事件,並應該讓你在所有的瀏覽器上工作..因此定義你的回調函數,而不是匿名。

function changeCallback(){} 

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

你也可以使用'.bind()'使它們都有。 – 2012-04-22 11:50:41

+0

我不想讓它們都有。我想停止觸發變化事件,如果它也是一個keydown事件。 – abhig10 2012-05-01 12:40:23