2011-05-02 104 views
1

爲什麼不工作這一個代碼Safari瀏覽器,Chrome和Internet Explorer。只有與Opera和Firefox的作​​品...javascript tab關鍵問題?在文本框

$("#txtAd").keypress(function (e) { 


    var code = e.keyCode || e.which; 
    if (code == 9) { 

     $("#txtSoyad").val(''); 

    }; 

}); 

回答

0

jQuery的抽象化,所以你不必:)

要確定輸入了哪個字符,請檢查傳遞給處理函數的事件對象。雖然瀏覽器使用不同的屬性來存儲這些信息,但jQuery規範了.which屬性,因此您可以可靠地使用它來檢索字符代碼。

Source

使用e.which,沒有必要使用||短路評價伎倆。

雖然在說,你的代碼did work for me in Chrome 10

你肯定$("#txtSoyad")是一個有效的選擇,並已選定你想要什麼?輸出length屬性,如果您沒有看到1,則表示沒有正確選擇它。

+0

你的意思是,如果(e.which == '9')吧? – PsyGnosis 2011-05-02 14:18:43

+0

這也不起作用 – PsyGnosis 2011-05-02 14:19:09

+0

@診斷是的。它在[fiddle]中工作(http://jsfiddle.net/alexdickson/mnTpc/)。如果你可以創建一個不工作的小提琴,我可以看看你的代碼,並告訴你什麼是錯的。 – alex 2011-05-02 14:20:50