27

即使我按照 jQuery UI 文档中的说明进行操作,我仍然收到 .sortable 不是函数的错误。
这是我的代码:

<div style="float: left;">
    <span class="caption" style="width: 255px; display: block;">
        Assigned Limits
    </span>
    <div class="assigned-limit-box">
        <ul id="limAssigned" class="ul-base">
        </ul>
    </div>
</div>

这是我的js:

$('#limAssigned').sortable();

我的 jQuery js 在我的 jQuery UI js 之前加载。

我究竟做错了什么?

4

8 回答 8

34

当主 php 页面需要使用 sortable() 函数的页面时,我遇到了同样的问题。在主页的头部添加以下代码是不够的。在所需页面的开头(在我的情况下,在正文内)添加它也修复了所有问题。

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
于 2014-02-06T13:57:41.253 回答
22

我想到了。我需要可排序的页面被加载到我的主页中的一个 div 中。我必须将 jQuery UI 脚本添加到该 jsp 而不是主页 jsp。有趣的是,结果如何。

于 2013-05-23T12:02:26.647 回答
9

我在页面上有超过 1 个版本的 jQuery 时遇到了这个错误。归功于 IonicBurger:jQuery 可排序不是一个函数

于 2019-04-25T15:32:37.760 回答
2

这个特定版本的 Jquery 对我有用

    <script src="//code.jquery.com/jquery-1.12.4.js"></script>

但它不适用于较新的版本

于 2018-12-28T16:09:26.850 回答
1

jQuery UI and jQuery must be loaded in a certain order:

<script src="jquery.js">...
<script src="jquery-ui.js">...

Make sure you are including jQuery UI after jQuery.

于 2018-08-12T12:19:07.523 回答
1

使用这两个脚本

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
于 2021-06-02T08:39:08.710 回答
0

我已经使用这两个脚本解决了这个问题。

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
于 2022-02-08T19:31:20.147 回答
0

就像https://stackoverflow.com/a/21604959/11630806中的user3279807一样,当我从带有动态 js 调用的单页 webapp 上的主 php 页面加载 jQuery 时,我发现了同样的问题。

要修复它,您可以将 jQuery 加载到您需要的每个页面,或者在我的情况下,加载到正文中。但是如果你想保持头部中的所有内容都干净,你也可以在头部调用 JQuery 脚本,使用defer.

<script src="https://code.jquery.com/jquery-3.6.0.min.js" defer></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" defer></script>

defer接近async。当您调用它时,脚本的执行在 DOM 内容加载之后但在 DOMContentLoaded 事件之前开始。当您使用 调用多个脚本时defer,您的脚本的执行会保持它们在页面中出现的顺序。

于 2021-09-14T22:55:41.673 回答