Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用快捷键作为网页中的访问键_Javascript_Html - Fatal编程技术网

Javascript 使用快捷键作为网页中的访问键

Javascript 使用快捷键作为网页中的访问键,javascript,html,Javascript,Html,我尝试在网页上使用accesskey,效果很好 <a href="http://localhost/" accesskey="h">HTML5</a><br> or document.getElementById("myAnchor").accessKey = "w"; 或 document.getElementById(“myAnchor”).accessKey=“w”; 但这需要按下另一个键才能访问chrome浏览器中的“h”键,即“alt+h”。

我尝试在网页上使用accesskey,效果很好

<a href="http://localhost/" accesskey="h">HTML5</a><br>
or
document.getElementById("myAnchor").accessKey = "w"; 

或 document.getElementById(“myAnchor”).accessKey=“w”;
但这需要按下另一个键才能访问chrome浏览器中的“h”键,即“alt+h”。 如何将access键与另一个键(如“ctrl+h”或“ctrl+d”)组合使用


谁能帮我把它画出来

accesskey是特定于浏览器的,您不能更改它:

如果你想有这样的组合,你必须使用javascript

比如:

$('body').keydown(function(e){
    if(e.shiftKey&&e.ctrlKey){
        ///something in here
    }
});
如果您想对许多元素使用accesskey,您可以创建自己的插件,如:

<a href="http://localhost/" data-accesskey="shift+h">HTML5</a>

$('body').on('keydown','[data-accesskey]',function(e){
   var keys = $(this).data('accesskey').split('+');
   var shift = ($.inArray('shift',keys)>=1?true:false);
   var ctrl= ($.inArray('ctrl',keys)>=1?true:false);
if(e.ctrlKey||!ctrl){
    if(e.shiftKey||!shift){
         // now in here you can bind what ever function you want to it
    }
}
});

$('body')。在('keydown','dataaccesskey',函数(e)上{
var keys=$(this).data('accesskey').split('+');
var shift=($.inArray('shift',key)>=1?真:假);
var ctrl=($.inArray('ctrl',keys)>=1?true:false);
如果(e.ctrlKey | | |!ctrl){
如果(例如,shiftKey | | |!shift){
//现在在这里,你可以绑定任何你想要的函数
}
}
});

但当我使用gmail时,某些按键组合用于执行特定操作。如何实现它?例如:“ctrl+shift+k”访问屏幕键盘,就像那样。它们是使用javascript完成的,而不仅仅是使用html访问键在这个链接中,它们所做的事情与在html中所做的相同。但是如何使用js组合键呢?看看我的答案