未捕获的TypeError:$(...)。nestedSortable不是函数

时间:2015-07-22 06:35:11

标签: javascript jquery html5 jquery-ui nested-sortable

我尝试使用来自https://github.com/mjsarfatti/nestedSortable的嵌套排序插件,但我一直收到此错误

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

这是我的头脑

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title><?php echo $meta_title; ?></title>


    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="js/jquery-ui.js"></script>
    <script src="js/jquery.mjs.nestedSortable.js"></script>

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

这是身体

    <ol class="sortable">
    <li><div>Some content</div></li>
    <li>
        <div>Some content</div>
        <ol>
            <li><div>Some sub-item content</div></li>
            <li><div>Some sub-item content</div></li>
        </ol>
    </li>
    <li><div>Some content</div></li>
</ol>

我使用的Javascript代码

$(document).ready(function(){
    $('.sortable').nestedSortable({
        handle: 'div',
        items: 'li',
            toleranceElement: '> div'
    });
});

请帮帮我

5 个答案:

答案 0 :(得分:1)

我测试了nestedSortable,这段代码工作

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
  <title><?php echo $meta_title; ?></title>


  <!-- Bootstrap -->
  <!-- <link href="css/bootstrap.min.css" rel="stylesheet"> -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
  <script src="http://mjsarfatti.com/sandbox/nestedSortable/jquery.mjs.nestedSortable.js"></script> 


      <script>
        $(document).ready(function(){
          $('.sortable').nestedSortable({
            handle: 'div',
            items: 'li',
            toleranceElement: '> div'
          });
        });
      </script>
    </head>

    <body>

      <div>
        <ol class="sortable">
          <li><div>Some content</div></li>
          <li>
            <div>Some content</div>
            <ol>
              <li><div>Some sub-item content</div></li>
              <li><div>Some sub-item content</div></li>
            </ol>
          </li>
          <li><div>Some content</div></li>
        </ol>

      </div>
    </body>

尝试将此代码放在一个文件中并执行它。如果有效,请不要使用外部链接

下载css和js将它们保存在项目文件夹中并从那里包含它们

答案 1 :(得分:0)

您必须使用 nestedSortable 的升级版本。以下是nestedSortable的更新版本:https://github.com/ilikenwf/nestedSortable

您还没有在文件中包含jquery-ui.js文件:<script src="//code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>在包含jquery.mjs.nestedSortable.js文件之前添加此代码

答案 2 :(得分:0)

错误表明jQuery对象上不存在该方法。这意味着nestedSortable插件尚未加载。

请参阅此行:

<script src="js/jquery.mjs.nestedSortable.js"></script>

检查地址是否正确,以及该位置是否存在JavaScript文件。

答案 3 :(得分:0)

更新您的脚本

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
  <script src="http://mjsarfatti.com/sandbox/nestedSortable/jquery.mjs.nestedSortable.js"></script>

<script src="js/jquery-ui.js"></script>
<script src="js/jquery.mjs.nestedSortable.js"></script>

答案 4 :(得分:0)

在以下github上:NESTEDSORTABLE