如何使用西里尔文布局检测 javascript 中的 CTRL+V?

发布于 11-29 03:29 字数 514 浏览 1 评论 0原文

我以这种方式检测 keydown 事件中的 ctrl+v :

.keydown(function(e){
   if ( e.ctrlKey && e.keyCode == 86 ) {
      console.log ('ctrl+v!');
   }
});

当我的布局是拉丁语(英语)时,它工作正常。但是,当我将布局切换为俄语(西里尔文)时 - 执行 ctrl+v (插入文本),但 jQuery 检测不起作用。 (e.keyCode = 0 西里尔字母符号)。

PS 我需要它以良好的顺序(用于预格式化插入的文本)

PPS 我的任务在没有检测到粘贴的情况下完成了。 (仅监听 keyup 事件对我来说就足够了),但问题存在于我的 PC(Ubuntu、Fx6)上。西里尔字母的 keyCode 被识别为 0,并且您无法检测带有拉丁字母的快捷方式(ctrl+cctrl+v 等)。

I detect ctrl+v in keydown event in such a way:

.keydown(function(e){
   if ( e.ctrlKey && e.keyCode == 86 ) {
      console.log ('ctrl+v!');
   }
});

it works fine, when my layout is latin (English). But when I switch my layout to Russian (cyrillic) - ctrl+v is executed (text is inserted) but jQuery detection doesn't work. (e.keyCode = 0 of cyrillic symbols).

P.S. I need it in good order (for preformatting inserted text )

P.P.S. My task was accomplished without detection of pasting. (just listening on keyup event was enough for me), but the problem exist on my PC (Ubuntu, Fx6). keyCode of Cyrillic symbols is recognized as 0, and you can't detect shortcuts with latin letters (ctrl+c,ctrl+v, etc).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生活了然无味2024-12-06 03:29:35

这也适用于 ubuntu(FF 5):

.keypress(function(e){
    if ( e.ctrlKey && (e.which == 86 || e.which==118) ) {
      console.log ('ctrl+v!');
   }
});

对于 ctrl+n 使用

 if ( e.ctrlKey && (e.which == 110 || e.which==78) ) 

和对于 ctrl+t:

if ( e.ctrlKey && (e.which == 84 || e.which==116) )

This works fo me on ubuntu too(FF 5):

.keypress(function(e){
    if ( e.ctrlKey && (e.which == 86 || e.which==118) ) {
      console.log ('ctrl+v!');
   }
});

for ctrl+n use

 if ( e.ctrlKey && (e.which == 110 || e.which==78) ) 

and for ctrl+t:

if ( e.ctrlKey && (e.which == 84 || e.which==116) )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文