1(function(a) { 2 a.fn.placeholder = function(d) { 3 var b = jQuery.extend({ 4 onFocus: "focused", 5 onChange: !1, 6 onBlur: !1, 7 placeholderSupport: "placeholder" in document.createElement("input") 8 }, d), 9 c = function() { 10 return !("" == a.trim(a(this).val()) || a(this).val() == a(this).attr("placeholder")) 11 }; 12 this.each(function() { 13 b.onBlur && a(this).addClass(b.onBlur); 14 !b.placeholderSupport && !c.call(this) && a(this).val(a(this).attr("placeholder")); 15 b.onChange && c.call(this) && a(this).addClass(b.onChange); 16 a(this).bind("focus", function() { 17 !b.placeholderSupport && 18 a(this).val() == a(this).attr("placeholder") && a(this).val(""); 19 b.onFocus && a(this).addClass(b.onFocus); 20 b.onBlur && a(this).removeClass(b.onBlur) 21 }).bind("blur", function() { 22 !b.placeholderSupport && !c.call(this) && a(this).val(a(this).attr("placeholder")); 23 b.onFocus && a(this).removeClass(b.onFocus); 24 b.onBlur && a(this).addClass(b.onBlur); 25 b.onChange && c.call(this) ? a(this).addClass(b.onChange) : a(this).removeClass(b.onChange) 26 }) 27 }); 28 return this 29 } 30})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.