すべてのブラウザーが同じコピー/貼り付け機能をサポートしているわけではありません。以下は、どのブラウザーがどの機能をサポートしているかのチャートです。
http://www.quirksmode.org/dom/events/cutcopypaste.html
ブラウザがコピー/貼り付けイベントのキャプチャをサポートしている場合、jQuery は正常に動作するはずです。対象となる各ブラウザをテストすることをお勧めします。
もう 1 つの方法は、jQuery の「data」プロパティを使用して、入力フィールドが変更されたことを検出することです。コード例を含む記事は次のとおりです。
http://www.mydogboris.com/2009/10/using-jquery-data-feature-to-detect-form-changes/
記事から:
var formChanged = false;
$(document).ready(function() {
$('#my_form input[type=text].editable, #my_form textarea.editable').each(function (i) {
$(this).data('initial_value', $(this).val());
});
$('#my_form input[type=text].editable, #my_form textarea.editable').keyup(function() {
if ($(this).val() != $(this).data('initial_value')) {
handleFormChanged();
}
});
$('#my_form .editable').bind('change paste', function() {
handleFormChanged();
});
$('.navigation_link').bind("click", function () {
return confirmNavigation();
});
});
function handleFormChanged() {
$('#save_or_update').attr("disabled", false);
formChanged = true;
}
function confirmNavigation() {
if (formChanged) {
return confirm('Are you sure? Your changes will be lost!');
} else {
return true;
}
}