答案 0 :(得分:44)
尝试使用removeAttr()之类的,
$('input,textarea').focus(function(){
$(this).removeAttr('placeholder');
});
要在placeholder value
再次获取blur()
,请尝试使用
$('input,textarea').focus(function(){
$(this).data('placeholder',$(this).attr('placeholder'))
.attr('placeholder','');
}).blur(function(){
$(this).attr('placeholder',$(this).data('placeholder'));
});
答案 1 :(得分:26)
没有必要使用javascript函数来实现这一点,更简单的解决方案是:
<input type="text" placeholder="enter your text" onfocus="this.placeholder=''" onblur="this.placeholder='enter your text'" />
答案 2 :(得分:14)
CSS为我工作:
input:focus::-webkit-input-placeholder {
color: transparent;
}
答案 3 :(得分:0)
$('*').focus(function(){
$(this).attr("placeholder",'');
});
答案 4 :(得分:0)
试试希望它有所帮助
$('input,textarea').focus(function()
{
$(this).attr('placeholder','');
});
答案 5 :(得分:0)
$('input').focus(function()
{
$(this).attr('placeholder','');
});
答案 6 :(得分:0)
对于不支持占位符的浏览器,您可以使用:
https://github.com/mathiasbynens/jquery-placeholder。
正如HTML5一样添加占位符属性,然后调用此插件:$('[placeholder]').placeholder();
。然后使用Rohan Kumar的代码并将跨浏览器。
答案 7 :(得分:0)
$("input[placeholder]").each(function () {
$(this).attr("data-placeholder", this.placeholder);
$(this).bind("focus", function () {
this.placeholder = '';
});
$(this).bind("blur", function () {
this.placeholder = $(this).attr("data-placeholder");
});
});
答案 8 :(得分:0)
一个非常简单而全面的解决方案适用于Mozila,IE,Chrome,Opera和Safari:
<input type="text" placeholder="your placeholder" onfocus="this.placeholder=''" onblur="this.placeholder='your placeholder'" />
答案 9 :(得分:0)
这是我点击非焦点的解决方案:
$(document).on('click','input',function(){
var $this = $(this);
var place_val = $this.attr('placeholder');
if(place_val != ''){
$this.data('placeholder',place_val).removeAttr('placeholder');
}
}).on('blur','input',function(){
var $this = $(this);
var place_val = $this.data('placeholder');
if(place_val != ''){
$this.attr('placeholder',place_val);
}
});