按下任何键时发出警报

时间:2014-01-06 09:04:23

标签: javascript jquery

当用户在文本框中按下删除,退格和空格时,我使用以下javascript来提醒。如果在文本框中按下了任何键,我需要发出警报,可能我可以在脚本中为每个键提及键码。但有人可以告诉我,当按下任何键时是否还有其他方法可以提醒?

 function doCheck() {
        var keyCode = (event.which) ? event.which : event.keyCode;
        if ((keyCode == 8) || (keyCode == 46) || (keyCode == 32))
            alert('The column is readonly and is non-editable');
        event.returnValue = false;
    } 

4 个答案:

答案 0 :(得分:1)

 function doCheck(event)

并传递使用此功能的事件

例如。

 onclick="doCheck(event)"

答案 1 :(得分:1)

您可以尝试使用事件处理程序onkeypress

吗?
onkeypress="KeyPressCheck(event)"

使用Javascript:

function KeyPressCheck(event){
   console.log('pressed::'+ event.keyCode);
}

参考:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onkeypress

答案 2 :(得分:1)

使用jQuery附加事件,否则您必须手动将on处理程序属性添加到每个元素。试试这个:

$('.texboxes').keypress(function(e) {
    if ((e.which == 8) || (e.which == 46) || (e.which == 32)) {
        alert('The column is readonly and is non-editable');
        event.returnValue = false;
    }
});

答案 3 :(得分:0)

您可以使用JQuery Keyup Event handler查找按哪个键。

$( "#SelectorId" ).keyup(function( event ) {
    //check for which key is pressed.
    if ((event.which== 8) || (event.which== 46) || (event.which== 32)){
       alert("Some message");  
       event.preventDefault();
    }
});  

为何使用keyup事件:

keydown和keyup提供一个代码,指示按下哪个键,而keypress指示输入了哪个字符。例如,小写的“a”将通过keydown和keyup报告为65,但按keypress报告为97。所有事件都将大写的“A”报告为65。由于这种区别,当捕获特殊键击如箭头键时,.keydown()或.keyup()是更好的选择。