检查keycode返回undefined

时间:2015-12-16 16:36:16

标签: jquery

下面的代码应该在按下Enter键时单击button,如果单击任何其他键,则清空另一个textbox

我无法检查keycode,因为keycode始终是undefined

$('#txtSearch').keyup(function (e) {
    if (e.keycode != 13)
        $('#txtId').val("");
    else
        $('#BtnGo').click();
})

2 个答案:

答案 0 :(得分:1)

在Firefox中,keyCode属性不适用于onkeypress事件(仅返回0)。对于跨浏览器解决方案,请将which属性与keyCode一起使用,例如:

var x = event.which || event.keyCode;  // Use either which or keyCode, depending on browser support

因此请使用以下代码

$('#txtSearch').keyup(function (event) {
    var x = event.which || event.keyCode;  // Use either which or keyCode, depending on browser support

        if (x!= 13)
            $('#txtId').val("");
        else
            $('#BtnGo').click();
    })

http://www.w3schools.com/jsref/event_key_keycode.asp

答案 1 :(得分:1)

更好的方法

$('#txtSearch').keyup(function (e) {
    var code = e.keyCode || e.which;
    if(code != 13)
        $('#txtId').val("");

   else
        $('#BtnGo').click();
})