All pastes #2128881 Raw Edit

Something

public javascript v1 · immutable
#2128881 ·published 2012-03-16 18:20 UTC
rendered paste body
(function($) {    $.fn.previewTextareas = function() {        var $el = this;        var run = function(){            var textareas = $('textarea', $el);            textareas.each(initializeTextarea);        };        var initializeTextarea = function(i, textarea) {            textarea = $(textarea);            attachPreviewToTextarea(textarea);            updatePreview(textarea);            bindEvents(textarea);        };        var attachPreviewToTextarea = function(textarea) {            var preview = getPreviewTemplate();            preview.insertAfter(textarea);            textarea.data('preview', preview);        };        var updatePreview = function(textarea) {            var value = textarea.val();            var preview = textarea.data('preview');            preview.html(value);        };        var bindEvents = function(textarea) {            textarea                .change(onEventUpdatePreview)                .keydown(onEventUpdatePreview)                .keypress(onEventUpdatePreview)                .keyup(onEventUpdatePreview)                .bind('cut paste textInput input', onEventUpdatePreview);        };        var onEventUpdatePreview = function(event){            updatePreview($(event.target));        };        var getPreviewTemplate = function() {            return $('<p></p>');        };        run();        return this;    }})(jQuery);