我正在尝试模仿Twitter在其主页上使用的效果。它在两个登录字段中显示“用户名”和“密码”,然后当您开始键入时,它将删除文本。到目前为止,我还没有成功,我最好的尝试是在密码字段中显示文本,但显示它就像输入了密码一样。
是否有可用的JQuery插件?我见过一个需要两个密码字段的地方,一次只显示一个。这不合适。
答案 0 :(得分:3)
我们发现最好的jQuery插件是jQuery Placeholder Plugin(a.k.a. jquery.placeholder.js)。出于与其宣传的功能相同的原因,它是最好的:
- 适用于所有A级浏览器,包括IE6。
- 自动检查浏览器是否原生支持
placeholder
和input
元素的HTML5textarea
属性。如果是这种情况,插件将不会执行任何操作。如果仅@placeholder
元素支持input
,则插件将保留这些元素并专门应用于textarea
。 (Safari 4,Opera 11.00以及其他浏览器可能就是这种情况。)- 在
jQuery.fn.placeholder.input
和jQuery.fn.placeholder.textarea
中缓存其两项功能测试的结果。例如,如果@placeholder
元素原生支持input
,则jQuery.fn.placeholder.input
将为true
。加载插件后,您可以在自己的代码中重复使用这些属性。- 确保它永远不会在您的DOM中导致重复ID,即使在需要额外
input
元素来伪造@placeholder
密码输入的浏览器中也是如此。这意味着您可以安全地执行以下操作:
答案 1 :(得分:1)
你可以使用jquery水印插件:
答案 2 :(得分:0)
我使用this plugin
答案 3 :(得分:0)
<script>
if ($.browser.msie) {
$('input[placeholder]').each(function() {
var input = $(this);
$(input).val(input.attr('placeholder'));
$(input).focus(function() {
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
$(input).blur(function() {
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.val(input.attr('placeholder'));
}
});
});
}
;
</script>