web/static/ldt/js/jquery.textchange.min.js
author ymh <ymh.work@gmail.com>
Fri, 08 Apr 2011 17:21:37 +0200
changeset 69 4775601a2531
permissions -rw-r--r--
use platform and clean install files next
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/*!
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 * jQuery TextChange Plugin
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * http://www.zurb.com/playground/jquery-text-change-custom-event
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Copyright 2010, ZURB
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Released under the MIT License
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 */
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)},
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 25)},triggerIfChanged:function(b){var c=b[0].contentEditable==="true"?b.html():b.val();if(c!==b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",c)}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){c===""&&c!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange",
4775601a2531 use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery);