Единственный надежный способ, позволяющий всегда отлавливать ВСЕ изменения независимо от того, как они сделаны, - использовать setInterval. Однако это несколько загружает процессор, поэтому вы, вероятно, захотите сохранить селектор более минимальным, чем этот.
setInterval( function() {
$('input').each( function() {
if ($(this).val() != $(this).attr("_value")) {
// Save the new value
$(this).attr("_value", $(this).val());
// TODO - Handle the changed value
}
});
}, 100);