我正在尝试从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>