如何在jquery中捕获cmd +输入事件

时间:2013-12-26 11:06:06

标签: javascript jquery macos

我需要确定用户在将文本输入textarea后按下cmd + enter的时间。我正在使用jquery。

这是我试过的:

<textarea id="checkMetaKey"></textarea>
<div id="display"></div>

$( "#checkMetaKey" ).keyup(function( event ) {
  $( "#display" ).text(event.metaKey + " " + event.keyCode);
});

JSFiddle:http://jsfiddle.net/WQG2b/

单击cmd + enter时,我希望显示“true 13”。但事实并非如此。

我可以让metaKey成为真的唯一方法就是当我单击CMD或CMD + ALT或CMD + CTRL时。

如何捕获CMD + ENTER事件?

当我在Facebook上尝试时,类似的功能似乎有效,我可以使用CMD + ENTER提交消息文本。

1 个答案:

答案 0 :(得分:14)

使用keydown。您还应该比较event.keyCode == 13

$("#checkMetaKey").keydown(function (event) {
    $("#display").text((event.metaKey || event.ctrlKey) && event.keyCode == 13);
});

DEMO