MVC3 jQuery keyup事件

时间:2011-12-05 20:15:40

标签: jquery asp.net-mvc asp.net-mvc-3 keyup

我有一个C#.NET MVC3网络应用程序,我想在文档中捕获关键事件。也就是说,我想知道是否已选择“CTL-> Z”来撤消其在Web视图上的数据更改。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

我认为这就是你要找的东西:

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

修改

我不确定是否跨浏览器支持来自mesiesta的答案的e.ctrlKey,但如果是的话,你可以做得更简单:

$(document).keydown(function (e) {
    if (e.which == 90 && e.ctrlKey)
        console.log("control Z");
});

答案 1 :(得分:1)

您可以尝试使用此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
});