返回
interact.js 中文文档(落入区)
前端
2024-02-15 17:17:41
落入区是interact.js中一个重要概念,它允许您定义哪些元素可以被拖放,以及它们可以被放置到哪里。落入区可以是一个单独的元素,也可以是一组元素。
要创建一个落入区,您可以使用interact()
方法并指定一个CSS选择器或一个元素。例如:
interact('.dropzone');
这将使带有.dropzone
类的所有元素成为落入区。
当一个元素被拖动到落入区时,ondrop
事件会被触发。此事件的回调函数会收到两个参数:拖动的元素和落入区的元素。
例如:
interact('.dropzone').on('drop', function (event) {
console.log(event.relatedTarget); // 拖动的元素
console.log(event.target); // 落入区的元素
});
您还可以使用accept
选项来指定哪些元素可以被放入落入区。例如:
interact('.dropzone').accept('.draggable');
这将使只有带有.draggable
类的元素才能被放入.dropzone
元素中。
使用场景
落入区可以用于各种场景,例如:
- 将文件拖放到文件夹中
- 将项目拖放到看板中
- 将商品拖放到购物车中
API
落入区的API非常简单,它只有两个方法:
accept(selector)
:指定哪些元素可以被放入落入区。ondrop(callback)
:当一个元素被拖动到落入区时触发回调函数。
实例
以下是一个使用落入区的实例:
<div class="dropzone">
<div class="draggable">Item 1</div>
<div class="draggable">Item 2</div>
</div>
interact('.dropzone').accept('.draggable');
interact('.dropzone').ondrop(function (event) {
console.log(event.relatedTarget); // 拖动的元素
console.log(event.target); // 落入区的元素
});
在这个实例中,.dropzone
元素是一个落入区,.draggable
元素可以被拖动到.dropzone
元素中。当一个.draggable
元素被拖动到.dropzone
元素中时,ondrop
事件的回调函数会被触发,并在控制台中输出拖动的元素和落入区的元素。