JavaScript を使用して、ユーザーが Web ページからテキストをコピーしていることを検出し、コピーしたテキストを配列に保存することはできますか (CTRL+V キーの組み合わせをオーバーライドせず、テキストのコピーを防止することもありません)?
言い換えれば、そのキーの組み合わせのデフォルトの動作をオーバーライドせずにキーの組み合わせを検出することは可能ですか?
JavaScript を使用して、ユーザーが Web ページからテキストをコピーしていることを検出し、コピーしたテキストを配列に保存することはできますか (CTRL+V キーの組み合わせをオーバーライドせず、テキストのコピーを防止することもありません)?
言い換えれば、そのキーの組み合わせのデフォルトの動作をオーバーライドせずにキーの組み合わせを検出することは可能ですか?
keyup
jQuery でリスナーを使用し、イベント パラメータctrlKey
とkeyCode
を取得してから、選択したテキストを から取得しますwindow.getSelection()
。
$(window).keyup(function (e) {
if (e.ctrlKey && e.keyCode === 67) {
alert("Text copied was: " + window.getSelection());
}
});
キーストロークのデフォルトの動作はreturn false
、リスニング関数 (または、e.preventDefault()
実質的に (およびコード内で) と同じことを行うjQuery で) を使用しない限り、干渉されませんreturn false
。
コピー&ペーストのキーストロークを簡単につかむことができ、それらをどうするかはあなた次第です。
document.addEventListener("keyup", function(e) {
if (e.ctrlKey && e.keyCode == 67) {
console.log("CTRL + C");
}
if (e.ctrlKey && e.keyCode == 86) {
console.log("CTRL + V");
}
});