Как перехватить эти два ключа: «:» и «.»? - PullRequest
0 голосов
/ 21 сентября 2010

Мне нужно что-то сделать, когда пользователь нажимает "." и что-то еще, когда пользователь нажимает ":"

Есть ли способ перехватить эти 2 ключа с помощью JavaScript, JQuery или другого?

1 Ответ

3 голосов
/ 21 сентября 2010

Если вы хотите перехватить эти ключи во всем документе:

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!");
        }
    }
};

Марсель Корпель справедливо отмечает в комментариях, что более эффективно не использовать вызов 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!");
        }
    }
};
...