我遇到了与浏览器文本字段自动建议相关的问题。
某些浏览器会保存您最常用的电子邮件地址,以便在您开始在文本字段中输入时,会出现“自动填充”框。
点击时,我似乎无法通过此框触发任何类型的事件。
我已提供this image向您展示我的意思(显然是像素化的信息)和this 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上设置事件触发器,但我无法找出自动填充框的正确事件。
我应该提一下,当按下自动填充框上的输入时它确实有效,你必须实际点击你想要的结果才能失败。
我真的很感激你的帮助!