jQuery 模糊/焦点奇怪的情况
我输入了密码类型。我想做简单的事情。如果输入未获得焦点,则输入具有默认值。我尝试用 jQuery 来实现。 我的 HTML:
<input type="password" name="password" id="password" defvalue="password" class="filling-password">
我的 Javascript(jQuery):
$('.filling-password').each(function(){
var b = $(this);
var id = this.id;
var val = b.attr("defvalue");
var textInput = '<input id="'+id+'-text" type="text" value="'+val+'">';
$(textInput).insertAfter(this);
b.hide(0);
$("#"+id+"-text").focus(function(){
$(this).hide(0);
b.show(0).focus();
});
b.blur(function(){
if ($(this).val() == "") {
$(textInput).insertAfter(this);
b.hide(0);
}
});
});
一切都很好。但只有一次。当我第一次点击输入时,输入变为空,当我模糊输入时,输入有默认值。
但如果我第三次点击什么也不会发生。怎么了?或者也许有更好的方法来做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一种大致如您所描述的方法,插入
$(function() { ... });
当然(现场演示):可能更好的方法是在文本框顶部覆盖一个标签(现场演示):
有一个 更好地实现后一种方法的 jQuery 插件。
Here's one way roughly as you described it, inserted inside
$(function() { ... });
of course (live demo):Possibly better is to overlay a label on top of the text box (live demo):
There's a jQuery plug-in that implements the latter approach more nicely.
我不知道 jQuery,但判断你的代码,这就是你想要的方向:
对于 HTML,defvalue 属性无效,我相信:
I don't know jQuery but judging your code, this is the direction you want to go:
And for the HTML, the defvalue attribute is not valid I believe: