focus
CtrlキーとVキー、またはShiftキーとInsertキーが押されたときにテキストエリアでイベントを発生させるこのハッキーなソリューションがあります。[はい、コンテキスト メニュー -> 過去には機能しません]
$(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 関数が起動された後に貼り付けられ、貼り付けられたテキストがテキストエリアに表示されます。その後、そのテキストエリアのキーアップで、#input1
フォーカスされます。
これを入力している間、範囲を使用して、キーボードの貼り付けとマウスの貼り付けの両方に解決策がある可能性があることがわかりました。それも何とかしてみようかな…