优化自己写jQuery兼容插件placeholder

作者:沙师弟时间:2012-06-03
翻开之前的写"placeholder兼容插件 v1.1"的代码,发现还有优化的地方,小小的改进了一下,但是总体思路并没有变化。 优化的地方: 1、将var声明方式合并,运行更快。 2、将jQuery的bind()方法替换成live()方法,以适应更负责的环境,例如:ajax。 这样执行起来比较,当然了小小的地方影响不了什么,没事码一下代码而已。 插件代码如下:
(function($){
	/*******************************
	 * @name placeholder兼容插件 v1.2
	 * @author norion
	 * @author blog http://zkeyword.com/
	 * @2012.06.02
	 * @可自由转载及使用,但请注明版权归属
	 *******************************/
	$.fn.placeholder = function(){
		if( this.length > 0 ){
			var searchText  = this,
				searchValue = searchText.attr('placeholder');
			if ( !( 'placeholder' in document.createElement('input') ) ){
				searchText.removeAttr('placeholder').val(searchValue).die().live({
					focus:function(){
						if ( this.value == searchValue ) { this.value = '' };
					},blur:function(){
						if ( this.value == '' ){ this.value = searchValue };
					}
				});
			}else{
				searchText.die().live({
					focus:function(){
						if ( jQuery(this).attr('placeholder') == searchValue ){ jQuery(this).attr('placeholder','') };
					},blur:function(){
						if ( jQuery(this).attr('placeholder','') ){ jQuery(this).attr('placeholder',searchValue) };
					}
				});
			}
		}
	}
})(jQuery);