Not all browsers support the same copy / paste capabilities. Here is a chart of which browser support which functions:
http://www.quirksmode.org/dom/events/cutcopypaste.html
If the browser supports capturing the copy / paste events, jQuery should work fine. I would suggest testing each of your targeted browsers.
Another approach would be to use the jQuery 'data' property to detect that the input field has changed. Here is an article with example code:
http://www.mydogboris.com/2009/10/using-jquery-data-feature-to-detect-form-changes/
from the article:
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;
}
}