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