其实除了支持placeholder 的浏览器,其他用js 或jq实现的都不叫placeholder 效果,只能算上是获取焦点,或失去焦点时的一个placeholder 没有出生时就已经存在效果
很多人用jq写,笔者,用的js写的
在这我觉得用js也好,jq也好,实现这个不仅仅是一个焦点得失的问题,更应该得到扩展
比如说,有value值时,我们给placeholder 组件传一个默认值叫 ‘请输入 ’ 如果value 为空 则显示请输入 如果有value 值 则显示value值, 并不是清空,应该是修改
这个组件使用了不需要再单独给value 用jq 或js赋值,这才叫可以
我的代码
var kpUnit = {} kpUnit.placeholder = function(id,defText){ var oInput = Q(id)[0]; var value = defText || oInput.value if(oInput.value==''){ oInput.value=value; oInput.style.color="#999" } oInput.onfocus=function(){ if(this.value==value){ this.value=''; } this.style.color="#333" }; oInput.onblur=function(){ if(this.value==''){ this.value=value; oInput.style.color="#999" } } }