如果在文本框中按下某个键,则抛出警报

时间:2014-04-24 17:43:03

标签: jquery

我正在尝试做这样的事情,但它没有用。有没有办法以不同的方式做到这一点?

if($("#user_password").keypress()){
    alert("hello");
}

user_password是我登录屏幕上文本框的ID。

当您按Enter键时,我已取消所有文本框的事件,但我想允许他们仅在登录页面上的此密码字段中输入。所以我的完整代码是:

$(document).keypress(function (e) {
if($("#user_password").keypress()){
    alert("hello");
}
if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
});

2 个答案:

答案 0 :(得分:4)

您需要设置事件处理程序,if语句与此无关:

$("#user_password").keypress(function () {
  alert("hello");
});

如果您想知道触发事件的元素,请查看事件的target属性:

$(document).keypress(function (e) {
  if (e.target == $("#user_password")[0])
    alert("hello");

   if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
});

答案 1 :(得分:0)

$(function() {
    $("#user_password").on("keyup", function(e) {
        var code = e.keyCode || e.which;
        if (code  === 13) {
            alert('You pressed enter key in textbox with id user_password');
        }
    });
});