【问题标题】:Getting not a function error, external script not loaded?不是函数错误,未加载外部脚本?
【发布时间】:2018-02-09 16:41:24
【问题描述】:

我正在尝试在我的网站上使用 input mask 脚本。当我从外部脚本引用函数时,我收到错误$(...).inputmask is not a function。我想这可能是因为脚本没有先加载;但是,我实现了require.js,问题仍然存在。

我加载脚本的两种方式:

我最初是直接从我的服务器加载脚本:

<script src="{% static 'jquery.inputmask.bundle.js' %}"></script>

那么方法一:

<script data-main="{% static 'jquery.inputmask.bundle.js' %}" src="{% static 'require.js' %}"></script>

现在方法二:

<script data-main="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js" src="{% static 'require.js' %}"></script>

我在我的脚本中引用源代码:

$(":input").inputmask();
$("#phone").inputmask({"mask": "(999) 999-9999"});

我拍了一堆没用的东西,但我想我可能只是忽略了一件小事。有什么想法吗?

我也尝试过实现:

  <script> $("#txt").inputmask({"mask":"(999) 999-9999"}); </script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/jquery.inputmask.js"></script>

导致TypeError: $("#txt").inputmask is not a function. (In '$("#txt").inputmask({"mask":"(999) 999-9999"})', '$("#txt").inputmask' is undefined)

【问题讨论】:

  • 您可以在浏览器的dev tool 中看到您引用的文件吗?
  • @NnN 是的,我可以通过开发工具在源代码中看到它

标签: javascript jquery jquery-inputmask


【解决方案1】:

首先给出inputmask.js 引用,然后给出jquery.inputmask.js,这应该适用于input-mask plugin

检查这个Fiddle

更多参考:https://github.com/RobinHerbots/Inputmask/issues/1029

$("#txt").inputmask({"mask":"(999) 999-9999"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/jquery.inputmask.js"></script>


<html>
<input type="text" id="txt" />
</html>

【讨论】:

  • 这导致TypeError: $("#txt").inputmask is not a function. (In '$("#txt").inputmask({"mask":"(999) 999-9999"})', '$("#txt").inputmask' is undefined)。编辑问题以显示我的实现。
  • Snippet & Fiddle 工作,按顺序给出参考,1. JQuery,2. Inputmask.js & 3. jquery.inputmask.js。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
相关资源
最近更新 更多