0

我遇到了与浏览器自动建议文本字段有关的问题。

一些浏览器会保存您最常用的电子邮件地址,因此当您开始在文本字段中输入它们时,它会出现一个“自动填充”框。

单击时,我似乎无法从该框中触发任何类型的事件。

我提供了这张图片来向您展示我的意思(显然是像素化信息),并且这个 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 上触发事件,但我无法确定自动填充框的正确事件。

我应该提一下,在自动填充框上按回车键时它确实有效,您必须实际单击您希望它失败的结果。

我真的很感激这方面的一些帮助!

4

0 回答 0