2011-05-02 76 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