我的文本框被声明为:
<asp:TextBox ID="txtShowManyItemTag" CssClass="price" onkeydown="return txtShowManyItemTagKeyUp(this);" TabIndex= "997" runat="server" Text="" Width="50px" />
所调用的javascript函数是:
function txtShowManyItemTagKeyUp(txt) {
if (window.event.keyCode == 13 && txt.value != '') {
var nextRow = $(txt).closest('tr').next();
if (nextRow.length > 0) {
$(txt).closest('tr').next().find(".price").select();
}
else {
$("#<%=btnOkMany.ClientID %>").select();
}
return false;
}
}
在Chrome和IE中,window.event.keyCode == 13可以正确检测到按下了Enter键,但是我找不到与Firefox等效的键。请注意,我没有传递事件,而是传递了触发事件的控件,并且找不到从该对象获取键代码的方法。我正在经历堆栈溢出,但是还没有找到符合这种情况的东西。
谢谢!
答案 0 :(得分:0)
使用{p>代替onkeydown
属性
$("#txtShowManyItemTag").on('keydown', txtShowManyItemTagKeyUp);
并将函数声明为
function txtShowManyItemTagKeyUp(e) { ... }
在其中,您现在可以使用e
来引用事件,并使用this
来引用<input>
。