2017-09-23 64 views
0

使用jQuery可以触发快捷键吗?例如:执行Shift键+空格键。如何使用jQuery触发快捷方式点击

$("body").on("click", function(){ 
    var e = jQuery.Event("keydown"); 
    e.shiftKey = true; 
    e.which = 32; 
    $("body").trigger(e); 
}); 
+0

尝试引用这样一句:https://stackoverflow.com/questions/3834175/jquery-key-code-for-command-key/3834210希望这有助于:) – emjr

回答

0

是的,你可以绑定到​​事件,并在适当的组合被发现,你可能会引发对DOM所需的事件。

在下面的代码片段, + 空间触发按钮的点击。

$("body").on("keydown", function(e){ 
 
    if(e.shiftKey && e.which == 32) { 
 
    $("#button").click(); 
 
    } 
 
}); 
 

 
function doSomething() { 
 
    alert("Button was clicked"); 
 
} 
 

 
function triggerShiftSpace() { 
 
    var event = $.Event("keydown"); 
 
    event.shiftKey = true; 
 
    event.which = 32; 
 
    $("body").trigger(event); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<button id="button" onclick="doSomething()"> 
 
    Don't click me! 
 
</button> 
 

 
<button id="button" onclick="triggerShiftSpace()"> 
 
    Shift + Space 
 
</button>

+0

在按钮点击触发Shift + Space的情况下,可以做到这一点。 –

+0

@yerrp是的,我已经更新了答案,以显示如何做到这一点。查看'setTimeout'中的部分。 – Nisarg

+0

我打算键入“反向”,因为在点击按钮触发Shift +空格 –