如何删除焦点上的占位符

Fra*_*ssi 22 javascript jquery focus placeholder

我创建了这个简单的函数,在不支持它的浏览器中添加占位符:

DEMO

问题是:当用户在其中单击时,如何添加该功能以删除占位符?

Roh*_*mar 44

尝试使用removeAttr()之类的,

$('input,textarea').focus(function(){
   $(this).removeAttr('placeholder');
});
Run Code Online (Sandbox Code Playgroud)

演示

placeholder value再次blur()尝试这个,

$('input,textarea').focus(function(){
   $(this).data('placeholder',$(this).attr('placeholder'))
          .attr('placeholder','');
}).blur(function(){
   $(this).attr('placeholder',$(this).data('placeholder'));
});
Run Code Online (Sandbox Code Playgroud)

演示1


小智 28

没有必要使用javascript函数来实现这一点,更简单的解决方案是:

<input type="text" placeholder="enter your text" onfocus="this.placeholder=''" onblur="this.placeholder='enter your text'" />
Run Code Online (Sandbox Code Playgroud)


min*_*sky 15

CSS为我工作:

input:focus::-webkit-input-placeholder {
    color: transparent;
}
Run Code Online (Sandbox Code Playgroud)

  • 现代浏览器的最佳解决方案。 (2认同)
  • 尼勒什:https://css-tricks.com/almanac/selectors/p/placeholder/ (2认同)