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

时间:2011-08-12 22:38:59

标签: jquery keyboard-shortcuts

我以这种方式在keydown事件中检测到ctrl+v

.keydown(function(e){
   if ( e.ctrlKey && e.keyCode == 86 ) {
      console.log ('ctrl+v!');
   }
});
当我的布局是拉丁语(英语)时,它工作正常。但是当我将布局切换为俄语(西里尔语)时 - 执行ctrl+v(插入文本)但jQuery检测不起作用。 (e.keyCode = 0西里尔符号)。

P.S。我需要它的顺序良好(用于预先格式化插入的文本)

P.P.S。我的任务是在没有发现粘贴的情况下完成的。 (只是听一下keyup事件对我来说已经足够了),但我的电脑上存在问题(Ubuntu,Fx6)。西里尔符号的keyCode被识别为0,您无法检测拉丁字母(ctrl+cctrl+v等)的快捷方式。

1 个答案:

答案 0 :(得分:5)

这对我来说也适用于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) )