gpt4 book ai didi

javascript - 替换元素后未触发 Sortover 和 sortout 事件

转载 作者:行者123 更新时间:2023-11-28 17:51:54 24 4
gpt4 key购买 nike

当将元素拖动到中间列上时,中间列应该改变宽度。它确实有效,直到我单击替换按钮来替换中间列的 html。然后事件停止被触发。据我所知 .on() 应该能够处理这种情况,还是我错了?

这是一个简单的演示,演示了该问题:https://jsfiddle.net/shuetvyj/3/

HTML:

<div class="members-column">
<div class="sort"> 1 </div>
<div class="sort"> 1 </div>
</div>
<div id="groupB" class="members-column">

</div>
<div class="members-column">
<div class="sort"> 2 </div>
</div>
<a href="" id="replace">replace groupB</a>

Javascript:

$(".members-column").sortable({
items: ".sort",
connectWith: ".members-column"
});
$("#groupB").on("sortover", function() {
console.log('overB');
$('#groupB').css('min-width','80px');
});
$("#groupB").on("sortout", function() {
console.log('outB');
$('#groupB').css('min-width','');
});
$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").replaceWith('<div id="groupB" class="members-column"></div>');
});

最佳答案

使用 .html 代替 replaceWith,如下所示

$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").html("");
});

https://jsfiddle.net/shuetvyj/5/

使用替换

$('body').on('sortover', '.members-column', function() {
$('#groupB').css('min-width','80px');
});
$('body').on('sortout', '.members-column', function() {
$('#groupB').css('min-width','');
});
$("#replace").on("click", function(e) {
e.preventDefault();
$("#groupB").replaceWith('<div id="groupB" class="members-column"></div>');
$(".members-column").sortable({ items: ".sort",connectWith: ".members-column" });;
});

https://jsfiddle.net/shuetvyj/8/

关于javascript - 替换元素后未触发 Sortover 和 sortout 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45319897/

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