0

我有一个 C#.NET MVC3 Web 应用程序,我想在文档上捕获 key up 事件。也就是说,我想知道用户是否选择了“CTL->Z”来撤消他们在网络视图上的数据更改。我该怎么做?

4

2 回答 2

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");
});
于 2011-12-05T20:17:16.470 回答
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
});
于 2011-12-05T20:26:07.413 回答