Ctrl +在TEXTAREA中输入jQuery

HP.*_*HP. 82 html javascript jquery hotkeys

当光标在TEXTAREA中并按下Ctrl+ 时,如何触发某些内容Enter?使用jQuery.谢谢

Yar*_*lev 131

实际上这个技巧可以在所有浏览器中使用:

if ((event.keyCode == 10 || event.keyCode == 13) && event.ctrlKey)
Run Code Online (Sandbox Code Playgroud)

链接到js小提琴

  • @Yaroslav:你能否回答一下"event.keyCode == 10"的用法. (4认同)
  • 如果有人仍然想知道keyCode 10和其他chrome内容,请阅读[this](https://code.google.com/p/chromium/issues/detail?id=79407). (3认同)
  • @YaroslavYakovlev `ctrlKey` 是否对应于 Mac 上的 Command 键? (2认同)
  • 也支持 Mac:```if ((e.keyCode == 10 || e.keyCode == 13) && (e.ctrlKey || e.metaKey))``` (2认同)

CMS*_*CMS 116

您可以使用该event.ctrlKey标志来查看是否Ctrl按下了键,如下所示:

$('#textareaId').keydown(function (e) {

  if (e.ctrlKey && e.keyCode == 13) {
    // Ctrl-Enter pressed
  }
});
Run Code Online (Sandbox Code Playgroud)

这里查看上面的代码段.

  • 这不起作用.Yarolslav Yakovlev的解决方案可以正常运行.请更改已接受的答案以节省时间. (38认同)
  • 这在Google Chrome中无效.按下Ctrl + Enter时,键码为"10",而不是"13". (15认同)

Ser*_*hyk 63

通用解决方案

也支持OS X.

if ((e.ctrlKey || e.metaKey) && (e.keyCode == 13 || e.keyCode == 10)) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忽略这个答案,因为它得分较低,只是一个较新的答案,它实际上更好. (14认同)

Val*_*mas 5

我发现其他人的答案要么不完整,要么不跨浏览器兼容。

此代码适用于 Google Chrome。

$(function ()
{
    $(document).on("keydown", "#textareaId", function(e)
    {
        if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey)
        {
            alert('Ctrl + Enter');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 您可以考虑通过添加进一步的解释来改进您的答案吗?谢谢:)否则这只是对低质量问题的低质量答案。 (2认同)