$('*').focus(function(){
$(this).removeAttr("placeholder");
});
这用于我表单中的所有字段。但我找不到添加方法。
$('*').focusout(function(){
$(this).attr("placeholder","abc");
}
这用于单个字段,但我需要所有通常隐藏和显示的字段
答案 0 :(得分:2)
没有特别优化,但是可以正常工作
$('*:input').each(function(){
$(this).data('placeholder',$(this).attr("placeholder"))
$(this).removeAttr("placeholder");
$(this).on('focus', function(){
$(this).attr("placeholder", $(this).data('placeholder'));
});
$(this).on('focusout', function(){
$(this).removeAttr("placeholder");
});
});
答案 1 :(得分:0)
看看这个JSFiddle示例,当您聚焦任何字段时,所有输入的占位符都会改变。< / p>
<form id="form">
<p>Form</p>
<p><input/></p>
<p>
<select>
<option id="selectPlaceholder"></option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
</p>
<p><textarea></textarea></p>
<p>
<button id="reset" type="button">Reset placeholder</button>
</p>
</form>
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#form {
background: #fff;
border-radius: 4px;
padding: 20px;
font-size: 25px;
text-align: center;
margin: 0 auto;
width: 300px;
}
input, select, textarea {
width: 90%;
text-align: center;
}
button {
background: #0084ff;
border: none;
border-radius: 5px;
padding: 8px 14px;
font-size: 15px;
color: #fff;
}
$("input, select, textarea").focusout(function(){
$("input, select, textarea").attr(
'placeholder',
'Text for the placeholder focusout'
)
$("#selectPlaceholder").html('Text for the placeholder focusout');
});
$('#reset').click(function(){
$('input, select, textarea').removeAttr('placeholder');
$('#selectPlaceholder').html('');
});