当用户在浏览器保存的密码中保存网站的电子邮件/密码时,开始键入他的电子邮件,然后单击该建议。应正确填写电子邮件/密码字段。
问题是:密码首先没有正确填写,它显示"密码" (纯文本,水印值)和文本被选中(如切换到非空字段时的TAB)。
但是,例如,如果您按键盘箭头移动光标并取消选择&#34;密码&#34;,则会以*******格式显示正确保存的密码。< / p>
当用户点击他的电子邮件并自动选择密码字段时会触发focus()事件,但我无法弄清楚如何解决此问题,我试图模拟点击密码字段选择&#34;密码&#34;,将光标位置移动到文本框内但没有工作。
这种方法有一个小缺陷:如果用户有密码&#34;密码&#34;它会在模糊时变得可见。你可以通过使用一个空格来避免这种情况(即&#34;插入密码&#34;)。
以下是代码:
$('input[id^="txtLoginPassword"]').each(function () {
this.value = $(this).attr('title');
$(this).addClass('text-label'); //text-label, text-label2 change color only
$(this).focus(function () {
if (this.value == $(this).attr('title')) {
$(this).removeClass('text-label');
$(this).addClass('text-label2');
}
});
$(this).keydown(function () {
if (this.value == $(this).attr('title')) {
this.value = '';
$(this).removeClass('text-label2');
if ($(this).attr('title').indexOf("password") >= 0) { $(this).attr('Type', 'password'); }
}
});
$(this).blur(function () {
if ((this.value == '') || (this.value == $(this).attr('title'))) {
this.value = $(this).attr('title');
$(this).removeClass('text-label2');
$(this).addClass('text-label');
if ($(this).attr('title').indexOf("password") >= 0) { $(this).removeAttr('Type'); }
}
);
});