我遇到了与浏览器自动建议文本字段有关的问题。
一些浏览器会保存您最常用的电子邮件地址,因此当您开始在文本字段中输入它们时,它会出现一个“自动填充”框。
单击时,我似乎无法从该框中触发任何类型的事件。
我提供了这张图片来向您展示我的意思(显然是像素化信息),并且这个 jsfiddle来证明我的观点。
jQuery
$(document).ready(function() {
$('#email').bind("keyup change blur click", function() {
var value = $(this).val();
if(IsEmail(value))
{
$('#emailVerified').fadeIn().html('<img src="http://i1297.photobucket.com/albums/ag26/chiggerchug/tick_zpsa232b56e.png" width="15px" height="15px"/>');
}
else
{
$('#emailVerified').fadeIn().html('<img src="http://i1297.photobucket.com/albums/ag26/chiggerchug/cross_zpsdbaa8cfa.png" width="15px" height="15px"/>')
}
})
})
function IsEmail(email)
{
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
HTML
<div id="container">
Email:
<input type="text" name="email" id="email"/>
<div id="emailVerified"></div>
</div>
我可以在 keyup 和 blur 上触发事件,但我无法确定自动填充框的正确事件。
我应该提一下,在自动填充框上按回车键时它确实有效,您必须实际单击您希望它失败的结果。
我真的很感激这方面的一些帮助!