我最近开始使用Javascript,并且发现了一个与我的password.length检查有关的问题。
http://jsfiddle.net/uYss7/ 代码:
Javascript阻止自动完成
document.observe('dom:loaded', function() {
$('passwordan').observe('keypress', function(event) {
if (this.value.length < 5) {
this.setStyle({backgroundColor: 'blue'});
} else {
this.setStyle({backgroundColor: 'white'});
}
});
});
问题:
它与信息自动填充它。 我在127.0.0.1,这个盒子是“passwordan”的原因仅仅是因为我想看看Firefox的盒子名称或ID后是否记得先前输入的数据,但似乎并非如此。
会发生什么,它会自动填充五个*,这会打破我的Javascript。它的长度是5,如果我在框内点击,ctrl + a(标记五*),然后写一个字母(没有退格,只是替换),它仍然是白色的。它的长度现在是1,它应该是蓝色的(因为长度小于5)。如果我标记它,请单击退格键并写一封信,然后按预期工作。
下面是一个解释的图像:
http://makeagif.com/media/2-02-2013/pc1TSL.gif
*
pktangyue给我的修复:
A simple way to fix it is using keyup event instead of keypress. Because keypress triggered before value change, while keyup triggered after it.
谢谢!
* 还有一个问题,为什么在去蓝色(又是白色)之后,顶部有灰色边框?
这是解决方案:)谢谢,我添加到我的帖子 –