OSS探訪GitHubでログイン

リスト要素を同一・別リスト間でドラッグ&ドロップ並べ替えし、タッチ操作にも対応する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
31,186
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/03/24
ページ内ナビ

概要

SortableJSはブラウザ上のlistをドラッグ&ドロップで並べ替えるJavaScriptライブラリです。frameworkやjQueryを必須とせず、同一list内の並べ替え、list間移動、handle、filter、animation、event callbackを設定できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

既存のDOM listへSortableを作成して並べ替えを有効にする

対象elementへSortable.create()またはnew Sortable()を適用するだけで、list itemをdragして順序変更できます。ul/liに限定されず、任意のelement構成を使えます。

出典:[1]

group設定でlist間の移動・copy・受け入れ条件を制御する

複数listへ同じgroup名を設定するとitemをlist間で移動できます。pull・put・cloneで送出、受け入れ、copyの可否を細かく制御できます。

出典:[1]

handle・filter・eventとpluginで操作感を調整する

drag handle、drag対象外のfilter、animation、direction、onStart・onEndなどのeventを設定できます。AutoScrollに加え、MultiDragやSwap pluginも利用できます。

出典:[1]

向いている用途

優先順位list・Kanban・並べ替え可能な管理画面を実装したい場合に向く

list順序を利用者が直接変更するUIや、複数列間でitemを移動する画面へ、特定frameworkに固定せずdrag-and-dropを追加したい用途に適します。

出典:[1]

導入前の確認

native drag-and-dropとfallbackの挙動を対象browser・touch端末で確認する

SortableJSはnative HTML5 drag and dropを使い、必要に応じてforceFallback等のfallback設定も提供します。mouseとtouchで操作条件が異なるため、実際の対象端末で確認してください。

出典:[1]

framework integrationとTypeScript型定義は周辺packageも確認する

READMEはReact、Vue、Angular等のintegration projectを別途案内し、TypeScript definitionsは@types/sortablejsとして示しています。採用するframeworkと型定義のversion整合も確認が必要です。

出典:[1]

参考にした公式資料

  1. [1]SortableJS 1.15.7 README(2026-10-05)
  2. [2]SortableJS 1.15.7 package metadata(2026-10-05)
  3. [3]SortableJS 1.15.7 release(2026-10-05)
  4. [4]SortableJS MIT license(2026-10-05)
編集部からの補足

frameworkなしでもDOM listへ直接導入でき、同一list内だけでなくlist間移動まで一つの設定体系で扱えるのが強みです。TypeScript型定義は本体packageではなく@types/sortablejsとして案内されているため、TypeScript projectでは合わせて確認してください。

3ステップで試す

  1. 1

    SortableJS 1.15.7を一時ディレクトリへ導入する

    安定版を固定し、既存アプリから分離してdrag-and-dropを確認します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/sortablejs.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact sortablejs@1.15.7
  2. 2

    並べ替え可能なlistを持つ最小HTMLを作る

    READMEの基本例にanimation設定だけを加え、3件のlist itemをdragできる状態にします。

    printf "%s\n" '<!doctype html>' '<meta charset="utf-8">' '<ul id="items"><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul>' '<script src="./node_modules/sortablejs/Sortable.min.js"></script>' '<script>Sortable.create(document.getElementById("items"), { animation: 150 });</script>' > index.html
  3. 3

    browserでHTMLを開いて順序を入れ替える

    index.htmlをbrowserで開き、Item 1〜3をdragして順序を変更できることを確認します。

    index.html
公式READMEで確認

成長

成長の推移 · 直近30日

31,186 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
41

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • drag
  • sortable
  • reordering
  • sort
  • drag-and-drop
  • drag-drop
  • ui
  • draggable
  • droppable
  • touch
Stars
31,186
Forks
3,715
Watchers
402
Open Issues
486
Contributors
140
所有者種別
Organization
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/03/24

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?