1

我正在尝试从https://github.com/Kicksend/mailcheck实现 mailcheck jquery 插件,并且我能够让它成功运行。

但问题是它在 Firefox 和 Chrome(有时)中运行良好,但在 Opera 中却不行。

如何测试?

1) 转到链接http://oxwall-demo.iyaffle.com/join,它将打开一个注册表单
2) 在“'电子邮件”字段中,输入“adfd@gnail.com”,不带引号并移动到下一个字段

焦点移出字段后,文本框下方会出现电子邮件拼写建议。此行为在某些浏览器中按预期工作,而在其他浏览器中则不然。

我的代码是依赖于浏览器还是它的浏览器对我的代码有不同的解释?请指出我的代码中的任何错误。

注意:任何浏览器的浏览器调试控制台中都没有任何错误。

正在使用的 jQuery:

<script type="text/javascript">
$(document).ready(function(){
    var domains = ['hotmail.com','gmail.com','aol.com','outlook.com','yahoo.com','yahoo.in'];
    var topLevelDomains = ['com','net','org','info','me','co.uk','co.in','in'];

    $("input.ow_email_validator:eq(0)").parent().append("<div id=\"correction\"></div>"); 

    $(document).on("blur", "input.ow_email_validator", function() {

        $("input.ow_email_validator:eq(0)").mailcheck({
            suggested: function(element, suggestion) {
                if(!$("#correction").html()) {
                    var suggestion = "Did you mean <span class=\"suggestion\">" +
                        "<span class=\"address\">" + suggestion.address + "</span>"
                        + "@<a href=\"#\" class=\"domain\">" + suggestion.domain + 
                        "</a></span>?";

                    $("#correction").html(suggestion).fadeIn(150);
                }
                else{
                    $(".address").html(suggestion.address);
                    $(".domain").html(suggestion.domain);
                }
            }
        });
    });

    $("#correction").on("click", ".domain", function() {
        $("input.ow_email_validator:eq(0)").val($(".suggestion").text());
        $("#correction").fadeOut(200, function() {
            $(this).empty();
        });
        return false;
    });

});
</script>
4

0 回答 0