【发布时间】:2011-08-12 22:38:58
【问题描述】:
我以这种方式在 keydown 事件中检测到ctrl+v:
.keydown(function(e){
if ( e.ctrlKey && e.keyCode == 86 ) {
console.log ('ctrl+v!');
}
});
当我的布局是拉丁语(英语)时,它工作正常。但是当我将布局切换为俄语(西里尔文)时 - 执行了 ctrl+v(插入了文本)但 jQuery 检测不起作用。 (e.keyCode = 0 的西里尔符号)。
附:我需要它以良好的顺序(用于预格式化插入的文本)
附言我的任务是在没有检测到粘贴的情况下完成的。 (只听 keyup 事件对我来说就足够了),但我的 PC 上存在问题(Ubuntu,Fx6)。西里尔符号的 keyCode 被识别为 0,无法检测到带有拉丁字母的快捷键(ctrl+c、ctrl+v 等)。
【问题讨论】:
-
'jQuery(document).bind('paste', function(e){ alert('pasting!') })' 这样的东西会起作用吗?我不确定您所说的“井井有条”是什么意思。
-
很奇怪,你的代码也适用于我的俄罗斯 kb 布局。您在什么环境中工作?
-
@Dr.Molle,我使用的是 Ubuntu 和 Firefox 6。
-
@ipr101,是的,我用谷歌搜索发现
.bind('paste'),tnx。 (虽然我不再需要它了)。但是如果需要检测ctrl+t或ctrl+n...