gpt4 book ai didi

javascript - Jquery Draggable 占位符拖放

转载 作者:行者123 更新时间:2023-11-28 16:52:09 27 4
gpt4 key购买 nike

如何让 placeholder 元素 在被拖动时触发事件?我试过让它在拖动开始时可放下,但它仍然没有触发事件。

这是一个例子 fiddle .

HTML-

<div class="draggable">
</div>
<div class="draggable">
</div>
<div class="draggable">
</div>
<div class="draggable">
</div>

CSS-

.draggable{
width: 50px;
height: 50px;
background-color: #000;
border: 1px solid #fff;
}
.highlight{
box-shadow: inset 0px 0px 10px 5px #fed700;
}

JQuery-

$(".draggable").draggable({
helper: "clone",
revert: "invalid"
}).droppable();

$(".draggable").on("dropover", function() {
$(this).addClass("highlight");
});
$(".draggable").on("dropout", function (){
$(this).removeClass("highlight");
});

当拖动到被拖动的元素上时,它不会改变。我确定这是默认功能,但我想显示为红色 X 之类的东西,而不是默认的什么都没有。

提前致谢!

编辑 - 所以我想我让这有点困惑。因此,当您拖动一个元素时,它会在后面留下一个占位符。我只想让占位符在您再次拖动它时触发 dropover 事件。

最佳答案

拖动开始时保存被拖动的元素: http://jsfiddle.net/e70bvst1/10/编辑,在这个 fiddle 中它从一开始就是红色的: http://jsfiddle.net/e70bvst1/13/

var currentDraggedElement;
$(".draggable").draggable({
start: function(e){
currentDraggedElement = e.target;
$(currentDraggedElement).addClass("red");
},
stop: function(e){
$(currentDraggedElement).removeClass("red");
},
helper: "clone",
revert: "invalid"
}).droppable();

$(".draggable").on("dropover", function(e) {
$(this).addClass("highlight");
});
$(".draggable").on("dropout", function (e){
$(this).removeClass("highlight");
currentDraggedElement = null;
});

希望这正是您所需要的。

关于javascript - Jquery Draggable 占位符拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com