sortableJS/09通过自定义函数禁止拖动.html

77 lines
1.9 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>sortable.js filter属性自定义函数例子</title>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
<script src="https://www.itxst.com/package/sortable/sortable.min.js"></script>
<style>
.itxst {
margin: 10px auto;
width: 70%;
float: left;
margin-right: 10px;
}
.itxst>div {
padding: 6px;
background-color: #fdfdfd;
border: solid 1px #eee;
margin-bottom: 10px;
cursor: move;
}
#msg {
clear: both;
width: 100%;
}
.move {
float: left;
width: 100px;
background-color: #3a6bfd;
}
</style>
</head>
<body>
<div class="box">
<div id="g1" class="itxst">
<div>filter属性自定义函数限制了 item 2 无法被拖动</div>
<div class="item" data-id="1">
item 1
</div>
<div class="item" data-id="2">
item 2
</div>
<div class="item" data-id="3">
item 3
</div>
</div>
</div>
<div id="msg"></div>
<script>
//第一组
const g1 = document.getElementById('g1');
const ops1 = {
animation: 166,
delay: 30,
draggable: ".item",
filter(event, item) {
if (item.dataset.id === "2") {
return true;
}
return false;
},
onEnd() {
const arr = sortable1.toArray();
console.log(arr)
}
};
const sortable1 = Sortable.create(g1, ops1);
</script>
</body>
</html>