【问题标题】:How to trigger a shortcut with jQuery click如何使用 jQuery click 触发快捷方式
【发布时间】:2018-03-04 16:35:45
【问题描述】:

是否可以使用 jQuery 触发键盘快捷键?示例:执行 Shift 键 + 空格键。

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

【问题讨论】:

标签: javascript jquery


【解决方案1】:

是的,您可以绑定到keydown 事件,当找到合适的组合时,您可以在 DOM 上触发所需的事件。

在下面的sn-p中,Shift + Space触发按钮点击。

$("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>

【讨论】:

  • 可以在按钮点击触发 Shift + Space 的地方保留吗?
  • @yerrp 是的,我已经更新了答案以展示你如何做到这一点。请参阅setTimeout 中的部分。
  • 我的意思是在点击按钮触发 Shift + Space 时键入“reverse”
  • 是的。我更新了答案。这就是你要找的吗?
  • 我认为它可以工作,但我无法让它运行,jsfiddle.net/1u8urv7p 网站上的 Shift + Space 快捷方式会向上滚动页面。我的想法是通过鼠标点击触发快捷方式。
猜你喜欢
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 2019-12-03
  • 1970-01-01
相关资源
最近更新 更多