如何拦截这两个关键:“:”和“。”?

时间:2010-09-21 10:58:56

标签: javascript jquery jquery-ui javascript-events keyboard-input

当用户推送“。”时,我需要做一些事情。用户按“:”时的其他内容

有没有办法用javascript,jQuery或其他方法拦截这两个键?

1 个答案:

答案 0 :(得分:3)

假设您想在整个文档中截取这些键:

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = (typeof evt.which == "undefined") ? evt.keyCode : evt.which;
    if (charCode) {
        var charStr = String.fromCharCode(charCode);
        if (charStr == ":") {
            alert("Colon!");
        } else if (charStr == ".") {
            alert("Full stop!");
        }
    }
};

Marcel Korpel在评论中正确地指出,不使用String.fromCharCode()电话会更有效率;这是一个没有的版本:

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = (typeof evt.which == "undefined") ? evt.keyCode : evt.which;
    if (charCode) {
        if (charCode == 58) {
            alert("Colon!");
        } else if (charCode == 46) {
            alert("Full stop!");
        }
    }
};