1

我正在尝试在我的网站中使用 jSignature,但它一直向我显示此错误:

Uncaught TypeError: $(...).jSignature is not a function

我的代码是:

<div id="signature"></div>

$("#signature").jSignature();

我有 Jquery 1.11.1:

<script src="https://code.jquery.com/jquery-1.11.1.js"></script>

Jquery 在函数的 JS 之前被调用。

我也试过打电话给 Jquery Mobile,打电话$('#signature').jSignature({'UndoButton':false,color:"#000000",lineWidth:5});,等等,但它从来没有用过。

任何人都可以帮忙吗?

4

2 回答 2

0

好吧,我解决了这个问题。问题是:我的插件文件中有 Jquery 1.12.4。它可以在任何页面中正常工作,但是使用 jSignature 会使 JS 抛出错误。我从插件中删除了 Jquery(但保留了 CDN 一个),现在它工作正常。

我已经发现了很多关于这个的问题,但从来没有答案。希望这可以帮助那里的任何人。

非常感谢

于 2018-05-28T16:17:11.177 回答
0

我使用 jQuery 3.4,有同样的问题。我不太确定问题出在哪里,但它是幻象。首先,我将所有推荐的库添加到我的项目中,并按照以前的方式访问该元素:

<script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
<script src="/jSignature.min.noconflict.js"></script>
...
$(`#id`).jSignature();

我收到了同样的jSignature is not a function

后来我认为问题可能出在 jQuery 版本兼容性上,所以添加了几行:

<script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
<script src="/jSignature.min.noconflict.js"></script>

<script src="https://code.jquery.com/jquery-1.12.4.min.js"
        integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
        crossorigin="anonymous"></script>
<script>
  var jq_1_12 = $.noConflict(true)
</script>
...
jq_1_12(`#id`).jSignature();

它一直在抛出同样的错误jSignature is not a function

最后我删除了最后的更改和 jquery 1.12 导入。问题自行解决,不知道发生了什么。但是插件现在可以正常工作了,没有任何可解释的原因

于 2019-07-23T07:41:45.387 回答