得到不是函数错误,外部脚本没有加载?

时间:2018-02-09 16:41:24

标签: javascript jquery jquery-inputmask

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

我加载脚本的两种方式:

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

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

然后方法1:

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

现在方法2:

<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)

1 个答案:

答案 0 :(得分:0)

首先提供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>