从Webforms文本框按下事件中获取Firefox中的键代码

时间:2018-08-23 14:53:29

标签: javascript events webforms keydown keycode

我的文本框被声明为:

<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等效的键。请注意,我没有传递事件,而是传递了触发事件的控件,并且找不到从该对象获取键代码的方法。我正在经历堆栈溢出,但是还没有找到符合这种情况的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用{p>代替onkeydown属性

$("#txtShowManyItemTag").on('keydown', txtShowManyItemTagKeyUp);

并将函数声明为

function txtShowManyItemTagKeyUp(e) { ... }

在其中,您现在可以使用e来引用事件,并使用this来引用<input>