jQuery supporta perfettamente l'evento paste
. Possiamo sfruttare questa caratteristica per eseguire un'azione dopo che l'utente
ha incollato del testo.
Dobbiamo semplicemente ritardare l'esecuzione dell'azione dopo che l'evento ha avuto luogo:
(function($) {
$.fn.afterPaste = function(options) {
var settings = {
delay: 300,
callback: function() {}
};
options = $.extend(settings, options);
return this.each(function() {
var $element = $(this);
$element.on('paste', function() {
setTimeout(options.callback, options.delay);
});
});
};
})(jQuery);
Esempio d'uso:
$(function() {
$('#test').afterPaste({
delay: 2000,
callback: function() {
$('#output').text('Pasted');
}
});
});