覆盖firefox和chrome中的快捷键

时间:2013-04-09 20:24:23

标签: javascript html google-chrome firefox

我有一个脚本应该打开一个网页的一部分,然后在Ctrl + n和Ctrl + s上保存更改我在IE中工作但它似乎不适用于firefox和chrome。有什么想法吗?

我的过度骑行功能。

function prevent(e)
{
try{e.stopPropagation();}catch(ex){}
try{e.preventDefault()}catch(ex){}
try{if (e.preventDefault)
        e.preventDefault();
    else {
        e.cancelBubble = true;
        e.returnValue = false;
        e.keyCode = 0;
    }}  catch(ex){}
}

1 个答案:

答案 0 :(得分:10)

我见过同样的问题。某些浏览器不允许您捕获某些快捷方式。看看这个https://stackoverflow.com/a/7296303/1366887

某些组合键在Chrome 4中被重新组合,但在Chrome 3中没有。请点击此处:https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-bugs/Ntc1byZXHfU

这是Javascript:

$(window).keydown(function(event) {
  if(event.ctrlKey && event.keyCode == 84) { 
    console.log("Hey! Ctrl+T event captured!");
    event.preventDefault(); 
  }
  if(event.ctrlKey && event.keyCode == 83) { 
    console.log("Hey! Ctrl+S event captured!");
    event.preventDefault(); 
  }
});

我已经使用了很多次,并且它已经发挥了很大作用。

以下是您可以查看的另一个资源:http://unixpapa.com/js/key.html

没有Jquery:

onkeydown = function(e){
  if(e.ctrlKey && e.keyCode == 'S'.charCodeAt(0)){
    e.preventDefault();
    //your saving code
  }
}

以下是JSFIDDLE的工作原理。