MVC3 jQuery keyup событие - PullRequest
       8

MVC3 jQuery keyup событие

0 голосов
/ 06 декабря 2011

У меня есть веб-приложение на C # .NET MVC3, и я хочу перехватить событие key up в документе. А именно, я хочу знать, выбрал ли пользователь «CTL-> Z», чтобы отменить свои изменения данных в веб-представлении. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Я думаю, это то, что вы ищете:

var ctrlDown = false;
$(document).keydown(function (e) {
    if (e.which == 17)
        ctrlDown = true;
    if (e.which == 90)
        if (ctrlDown)
            console.log("control Z"); 
});
$(document).keyup(function (e) {
    if (e.which == 17)
        ctrlDown = false;
});

РЕДАКТИРОВАТЬ

Я не уверен, поддерживается ли e.ctrlKey из ответа mesiestaкросс-браузер, но если это так, вы можете сделать более просто:

$(document).keydown(function (e) {
    if (e.which == 90 && e.ctrlKey)
        console.log("control Z");
});
1 голос
/ 06 декабря 2011

Вы можете попробовать использовать это Ctrl + Key Combination – Simple Jquery Plugin. Я никогда не пытался его использовать, но это кажется хорошим решением для этого)))

Вот ссылка

http://www.gmarwaha.com/blog/2009/06/16/ctrl-key-combination-simple-jquery-plugin/

Итак, вот этот код функции

$.ctrl = function(key, callback, args) {
$(document).keydown(function(e) {
    if(!args) args=[]; // IE barks when args is null
    if(e.keyCode == key.charCodeAt(0) && e.ctrlKey) {
        callback.apply(this, args);
        return false;
    }
});
};

И тогда в вашем коде вы должны написать только

$.ctrl('Z', function() {
    //What you want to do
});
...