当 Ctrl 和 V 键或 Shift 和 Insert 键按下时,有一个 hacky 解决方案会在文本区域上触发一个focus
事件。[是的,它不适用于上下文菜单 -> 过去]
$(document).ready(function(){
var activeOnPaste = null;
$('#input1').keydown(function(e){
var code = e.which || e.keyCode;
if((e.ctrlKey && code == 86) || (e.shiftKey && code == 45)){
activeOnPaste = $(this);
$('#textarea').val('').focus();
}
});
$('#textarea').keyup(function(){
if(activeOnPaste != null){
$(activeOnPaste).focus();
activeOnPaste = null;
}
});
});
当按下 Ctrl 和 V 键时,该代码让指针聚焦在文本区域上。那时没有粘贴文本,它是在触发此 keydown 函数后粘贴的,因此粘贴的文本显示在 textarea 中。之后,在该 textarea 上的 keyup 上,#input1
将被聚焦。
在键入此内容时,我发现可能有使用范围的键盘粘贴和鼠标粘贴解决方案。我也会尝试一下...