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