Ctrl +在 TEXTAREA 中使用 jQuery 输入
当光标位于 TEXTAREA 内并且按下 Ctrl+Enter 时,如何触发某些操作?
我正在使用 jQuery。
How do I trigger something when the cursor is within TEXTAREA and Ctrl+Enter is pressed?
I am using jQuery.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
实际上,这个方法可以解决问题,并且适用于所有浏览器:
链接到 js fiddle。
注意:
keyCode
10,而不是 13 (错误报告)。所以我们需要检查其中任何一个。ctrlKey
是 control(不是 命令)。另请参阅metaKey
。Actually this one does the trick and works in all browsers:
Link to js fiddle.
Notes:
keyCode
10, not 13 (bug report). So we need to check for either.ctrlKey
is control on Windows, Linux and macOS (not command). See alsometaKey
.您可以使用
event.ctrlKey
标志来查看如果按下 Ctrl 键。像这样的事情:在此处检查上面的代码片段。
You can use the
event.ctrlKey
flag to see if the Ctrl key is pressed. Something like this:Check the above snippet here.
通用解决方案
这也支持 macOS:Ctrl+Enter 和 ⌘ Command+Enter 将被接受。
Universal solution
This supports macOS as well: both Ctrl+Enter and ⌘ Command+Enter will be accepted.
我发现其他人的答案要么不完整,要么不跨浏览器兼容。
此代码适用于 Google Chrome。
I found answers of others either incomplete or not cross-browser compatible.
This code works in Google Chrome.
这可以扩展到一个简单但灵活的 jQuery 插件,如下所示:
因此,
当用户按下 Ctrl + Enter 时,应该提交一个表单,并将焦点放在该表单的文本区域上。
(感谢 如何使用 jQuery 检测键盘上的 Enter 键?)
This can be extended to a simple, but flexible, jQuery plugin as in:
Thus
should submit a form when the user presses Ctrl + Enter with focus on that form's textarea.
(With thanks to How can I detect pressing Enter on the keyboard using jQuery?)
值得注意的是
keyCode
已被弃用。您可以使用:
它适用于 Mac 和 Windows。
使用 React + TS 看起来像这样:
Worth noting that
keyCode
has been deprecated.You can use:
Which works on both Mac and Windows.
Using React + TS it looks something like this:
event.keyCode
和event.which
已弃用。以下方法可在 Mac 和 Windows 上处理
CTRL/Command + Enter
(React)event.keyCode
andevent.which
are deprecated.The following works to handle
CTRL/Command + Enter
on Mac and Windows (React)也许有点晚了,但这就是我使用的。它还将强制提交作为光标当前目标的表单。
Maybe a little late to the game, but here is what I use. It will also force submit of the form that is the current target of the cursor.
首先,您必须在按下 Ctrl 时设置一个标志;执行此 onkeydown 操作。
然后你必须检查Enter的按键。当您看到 Ctrl 按键时取消设置该标志。
First you have to set a flag when Ctrl is pressed; do this onkeydown.
Then you have to check the keydown of Enter. Unset the flag when you see a keyup for Ctrl.