09通过自定义函数禁止拖动

This commit is contained in:
bunny 2024-01-31 16:38:08 +08:00
parent 77db51ef9d
commit 584d565d86
2 changed files with 82 additions and 1 deletions

View File

@ -0,0 +1,77 @@
<!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>

View File

@ -3,7 +3,11 @@ var ops1 = {
animation: 1000,
delay: 30,
draggable: '.item',
filter: '.filter',
//被禁止拖动的元素,第二个元素不允许被拖动
filter: function (evt, item) {
if (item.dataset.id == '2') return true;
return false;
},
//拖动结束
onEnd: function (evt) {
console.log(evt);