javascript - 表格拖动器的基本实现
问题描述
我正在尝试实现 table-dragger(basic),但无法理解如何完成它。
以下是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>draggable</title>
<script src="/Desktop/table-dragger.min.js"></script>
<script type="text/javascript">
var el = document.getElementById('table');
var dragger = tableDragger(el, {
mode: 'row',
dragHandler: '.handle',
onlyBody: true,
animation: 300
});
dragger.on('drop',function(from, to){
console(from);
console(to);
});
</script>
</head>
<body>
<table id="table">
<thead>
<tr>
<th class='handle'>Header 1</th>
<th class='handle'>Header 2</th>
<th class='handle'>Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
</tr>
</tbody>
</table>
</body>
</html>
我也提供了 table-dragger.min.js 的路径。现在要在这里做什么?该页面不显示任何可拖动的内容(行)。
解决方案
如果你检查你的控制台,你一定会看到一个JS
错误。就像是
table-dragger: el must be TABLE HTMLElement, not [object Null]
这是因为当您尝试获取 DOM 时,没有在其中添加任何表
var el = document.getElementById('table');
它给你null。所以你table-dragger
抛出一个错误。
一个快速的解决方法就是移动你的sctipt
wherebody
标签被关闭,这应该可以解决它。
就像是
<!DOCTYPE html>
<html>
<head>
<title>draggable</title>
<script src="https://cdn.jsdelivr.net/npm/table-dragger@1.0.2/dist/table-dragger.min.js"></script>
</head>
<body>
<table id="table">
<thead>
<tr>
<th class='handle'>Header 1</th>
<th class='handle'>Header 2</th>
<th class='handle'>Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var el = document.getElementById('table');
var dragger = tableDragger(el, {
mode: 'row',
dragHandler: '.handle',
onlyBody: true,
animation: 300
});
dragger.on('drop',function(from, to){
console(from);
console(to);
});
</script>
</body>
</html>
推荐阅读
- javascript - 不同格式的两个相同日期给出不同的纪元时间
- node.js - nodejs中如何动态添加、修改、取消定时任务
- c++ - 卸载 CEF 崩溃
- c# - RedirectToAction 到不同区域的控制器不起作用
- javascript - 将用户给定的文本附加到块中
- javascript - javascript中antlr4访问者中的自定义上下文变量
- c++11 - 试图 push_back 一个向量
进入私有向量 没有返回函数的同一个类 - php - Laravel Eloquent - 最受欢迎的查询
- javascript - 在 JQuery 中使用 switch 语句替换多个字符
- php - PHP没有来自HTML表单的响应