jQuery: eseguire un'azione dopo che l'utente ha incollato del testo

jQuery: eseguire un'azione dopo che l'utente ha incollato del testo

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');
		}
	});

});

Torna su