You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入jQuery mailcheck插件后报错$(...).mailcheck不是函数,求排查解决

问题解决:$(...).mailcheck is not a function

核心原因:脚本加载顺序错误

mailcheck是jQuery插件,必须先加载jQuery,再加载mailcheck插件。你当前的加载顺序是先加载mailcheck,再加载jQuery,导致插件无法绑定到jQuery的原型对象上,自然调用时会提示方法不存在。

修复步骤

  1. 调整脚本加载顺序
    把jQuery放在mailcheck之前引入,确保插件能找到依赖的jQuery环境:
<script src="/js/jquery-3.6.1.js"></script>
<script src="/js/mailcheck.js"></script> <!-- 插件依赖jQuery,需后加载 -->
<script src="/js/script.js" defer></script>
<script src="/js/form.js" defer></script>
  1. 检查自定义域名变量定义
    你的代码中使用了domains、secondLevelDomains、topLevelDomains三个变量,但未提供定义逻辑。如果需要自定义域名列表,要在调用mailcheck前声明它们;如果不需要自定义,直接省略这三个参数即可使用插件默认值:
// 可选:自定义域名列表,省略则使用插件默认配置
const domains = ['gmail.com', 'yahoo.com', 'hotmail.com'];
const secondLevelDomains = ['mail', 'webmail'];
const topLevelDomains = ['com', 'net', 'org'];

$('#email').on('blur', function() {
  $(this).mailcheck({
    // 不需要自定义可删除以下三行
    domains: domains,                       
    secondLevelDomains: secondLevelDomains, 
    topLevelDomains: topLevelDomains,         
    suggested: function(element, suggestion) {
      $('#suggestion').html('Did you mean? ' + suggestion.full)
    },
    empty: function(element) {
      $('#suggestion').html('')
    }
  });
});

验证

调整后刷新页面,触发输入框blur事件,插件即可正常识别邮箱拼写并给出建议。

内容的提问来源于stack exchange,提问作者lolekv1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:10:48