npm 包 jquery-sortable 使用教程

简介

jquery-sortable 是一个方便的 jQuery 插件,可以帮助我们实现拖拽排序的功能,不仅可以用在列表中,也可以用于其他元素的排序。该插件使用很广泛,是一个非常实用的前端工具。

安装

要使用 jquery-sortable,首先需要安装它。可以通过 npm 来安装:

--- ------- --------------- ------

此外,在你的 HTML 文件中引入 jQuery 库和 jquery-sortable:

------- -----------------------------------------------------------
------- -----------------------------------------------------------------------------

基本使用

HTML 结构

首先,我们需要一个包含待排序元素的容器:

---- --------------
  --------- -------
  --------- -------
  --------- -------
  --------- -------
  --------- -------
------

JavaScript 代码

然后,在 JavaScript 中调用 sortable() 方法,来使得该容器具有可排序的功能:

--------------------------

这样,我们就完成了基本的排序功能。当然,还有很多配置选项可以让我们自定义排序。

配置选项

jquery-sortable 提供了很多配置选项,可以满足我们对元素排序的各种需求。下面列举一些常用的配置选项:

axis

如果我们只希望元素在某个方向上可以排序,可以设置 axis 选项:

------------------------------ ------

这样,元素只能在垂直方向上进行排序。

handle

有时候,我们并不希望整个元素都可以拖拽排序,而是只想让某个部分可以被拖拽。这时候,可以使用 handle 选项来指定可拖拽的部分:

---- --------------
  ---------- ----------------------- ---- -------
  ---------- ----------------------- ---- -------
  ---------- ----------------------- ---- -------
  ---------- ----------------------- ---- -------
  ---------- ----------------------- ---- -------
------
-------------------------
  ------- ---------
---

这里,我们将每个元素内部的 .handle 元素作为可拖拽部分。

containment

如果我们希望在某个区域内进行排序,可以设置 containment 选项:

-------------------------
  ------------ ------------
---

这样,元素只能在 #container 容器内进行排序。

回调函数

jquery-sortable 还提供了一些回调函数,可以让我们在排序过程中进行一些操作。

start

start 回调函数会在开始拖拽时触发:

-------------------------
  ------ --------------- --- -
    ---------------------
  -
---

sort

sort 回调函数会在元素排序时触发:

-------------------------
  ----- --------------- --- -
    --------------------
  -
---

stop

stop 回调函数会在拖拽结束时触发:

-------------------------
  ----- --------------- --- -
    --------------------
  -
---

示例代码

下面是一个完整的示例代码:

--------- -----
------
------
  ----- ----------------
  ------------------------------
  ------- -----------------------------------------------------------
  -------

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------