このコードを試しています。誰かが最初のテキスト ボックスを右クリックすると、フォーカスが 2 番目のボックスに移動しPaste
、コンテキスト メニューからオプションを選択すると、テキストが 2 番目のボックスに貼り付けられます。2 番目のボックスには、 Foopaste
に警告するためのイベントが添付されています。
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$('.foo').contextmenu(function() {
$('.boo').select();
return true;
});
$(".boo").bind("paste",function() { alert("Foo"); });
});
</script>
</head>
<body>
<input type = 'text' class = 'foo' />
<input type = 'text' class = 'boo' />
</body>
</html>
Opera 以外のすべてのブラウザで正常に動作します。右クリックして最初のボックスにテキストを貼り付けると、これらすべてのブラウザーに対してアラートがポップされます。Opera では、2 番目のボックスにテキストを直接貼り付けると、アラートがポップアップ表示されます。ただし、最初のボックスを介して行う場合、つまり、最初のボックスを右クリックしながらフォーカスを 2 番目に移動すると、クリップボードのテキストが 2 番目に貼り付けられますが、明確に確認できてもアラートは表示されません。 2 番目のボックスにフォーカスがあり、テキストがそこにうまく貼り付けられます。何が問題なのか、それを修正する方法を教えてもらえますか?