touch-dnd 项目教程
1. 项目的目录结构及介绍
touch-dnd/
├── .gitignore
├── .npmignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── index.d.ts
├── package.json
└── touch-dnd.js
- .gitignore: 用于指定 Git 版本控制系统忽略的文件和目录。
- .npmignore: 用于指定 npm 包发布时忽略的文件和目录。
- CHANGELOG.md: 记录项目的变更日志,通常包含每个版本的更新内容。
- LICENSE: 项目的开源许可证文件,本项目使用 MIT 许可证。
- README.md: 项目的介绍文档,通常包含项目的概述、安装和使用说明。
- index.d.ts: 项目的 TypeScript 类型定义文件。
- package.json: 项目的 npm 配置文件,包含项目的元数据、依赖项和脚本命令。
- touch-dnd.js: 项目的主文件,包含了 Draggable、Droppable 和 Sortable 的功能实现。
2. 项目的启动文件介绍
项目的主文件是 touch-dnd.js
,该文件包含了 Draggable、Droppable 和 Sortable 的功能实现。要启动项目,通常需要引入该文件并在 HTML 中使用相应的 JavaScript 代码来初始化拖放功能。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Touch DnD Example</title>
<script src="path/to/touch-dnd.js"></script>
</head>
<body>
<div id="lhs" class="sortable">
<div class="draggable">A1</div>
<div class="draggable">A2</div>
</div>
<div id="rhs" class="sortable">
<div class="draggable">B1</div>
<div class="draggable">B2</div>
</div>
<script type="text/javascript">
$(function() {
$('#lhs').sortable({ connectWith: '#rhs' });
$('#rhs').sortable({ connectWith: '#lhs' });
$('.draggable').draggable({ connectWith: '.sortable' });
$('.droppable').droppable({ activeClass: 'active', hoverClass: 'drop-here' });
});
</script>
</body>
</html>
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
,该文件包含了项目的元数据、依赖项和脚本命令。以下是 package.json
文件的示例内容:
{
"name": "touch-dnd",
"version": "1.0.0",
"description": "Advanced touch-compatible Drag and Drop library providing Draggable, Droppable and Sortable for Zepto.js and jQuery",
"main": "touch-dnd.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/rkusa/touch-dnd.git"
},
"keywords": [
"drag",
"drop",
"touch",
"zepto",
"jquery"
],
"author": "Markus Ast",
"license": "MIT",
"bugs": {
"url": "https://github.com/rkusa/touch-dnd/issues"
},
"homepage": "https://github.com/rkusa/touch-dnd#readme"
}
- name: 项目的名称。
- version: 项目的版本号。
- description: 项目的描述。
- main: 项目的入口文件,通常是
touch-dnd.js
。 - scripts: 定义了一些脚本命令,例如
test
命令。 - repository: 项目的代码仓库信息。
- keywords: 项目的关键词,用于在 npm 中搜索。
- author: 项目的作者。
- license: 项目的开源许可证,本项目使用 MIT 许可证。
- bugs: 项目的 Bug 跟踪地址。
- homepage: 项目的官方主页。