src/util/placeholder/platform/holder.patch.js
function(_input,_clazz){
		        var _id = _e._$id(_input),
		            _label = _e._$wrapInline(_input,{
		                tag:'label',
		                clazz:_clazz,
		                nid:_ropt.nid
		            });
		        _label.htmlFor = _id;
		        var _text = _e._$attr(_input,'placeholder')||'';
		        _label.innerText = _text=='null'?'':_text;
		        var _height = _input.offsetHeight+'px';
		        _e._$style(_label,{
		            left:0,
		            // width:_input.offsetWidth+'px',
		            // height:_height,lineHeight:_height,
		            display:!_input.value?'':'none'
		        });
		    }
function(_input,_clazz){
		        var _id = _e._$id(_input),
		            _label = _e._$wrapInline(_input,{
		                tag:'label',
		                clazz:_clazz,
		                nid:_ropt.nid
		            });
		        _label.htmlFor = _id;
		        var _text = _e._$attr(_input,'placeholder')||'';
		        _label.innerText = _text=='null'?'':_text;
		        var _height = _input.offsetHeight+'px';
		        _e._$style(_label,{
		            left:0,
		            // width:_input.offsetWidth+'px',
		            // height:_height,lineHeight:_height,
		            display:!_input.value?'':'none'
		        });
		    }
function ( _input , _clazz ) { var _id = _e . _$id ( _input ) , _label = _e . _$wrapInline ( _input , { tag : 'label' , clazz : _clazz , nid : _ropt . nid } ) ; _label . htmlFor = _id ; var _text = _e . _$attr ( _input , 'placeholder' ) || '' ; _label . innerText = _text == 'null' ? '' : _text ; var _height = _input . offsetHeight + 'px' ; _e . _$style ( _label , { left : 0 , // width:_input.offsetWidth+'px', // height:_height,lineHeight:_height, display : ! _input . value ? '' : 'none' } ) ; }
wrapper input control
wrapper input control