gpt4 book ai didi

升级到 jQuery 1.7.x 后,jQuery UI droppable 的 event.target 发生了变化

转载 作者:行者123 更新时间:2023-12-01 01:37:53 24 4
gpt4 key购买 nike

我尝试将 jQuery 从 1.4.1 升级到 1.7.1,发现 jQuery UI 可删除功能存在问题。我正在使用 jQuery 1.8.16 和这个 Multi-Select, Drag & Drop插件,发现我使用它的页面在升级后不再工作。经过几个小时的调试,我发现事件对象的目标属性不再包含相同的元素。

用一个例子来解释是最简单的,所以我创建了 this on jsfiddle .

$(function() {
$("#draggable").draggable();
$("#droppable").droppable({
drop: function(event, ui) {
$(this).addClass("ui-state-highlight").find("p").html("Dropped!");
$('#target-content').html($(event.target).html());
}
});
});

<div class="demo">
<div id="draggable">
<p>Drag me to my target</p>
</div>
<div id="droppable">
<p>Drop here</p>
</div>
<div id="test"></div>
</div>

现在,当您在 jsfiddle 上使用 jQuery 1.5.2(或 1.6.4,但该版本由于某种原因不包含 jQuery UI),并将红色框拖到绿色框上时,event.target 为引用绿色框,从而显示里面的文本。但是,当您使用 jQuery 1.7.x 时,event.target 指的是红色框!

对我来说,这似乎在 jQuery UI 1.8.x 中缺乏对 jQuery 1.7.x 的支持,而且我在主页上找不到任何提及这一点的地方。

现在我该怎么办?我可以在多选、拖放插件中修复它,但如果稍后修复此错误,可能会再次破坏它。

最佳答案

现在已经有一段时间了,但迟到总比不到好。

自 1.8.17 版本以来已经发布了几个版本(在撰写本文时,当前版本是 1.8.20)。

在 js fiddle 上,现在可以选择 jQuery 1.7.2 和 jQuery UI 1.8.18,see this example 。它似乎在这个版本中有效,所以我们希望它在未来的版本中也能如此。

关于升级到 jQuery 1.7.x 后,jQuery UI droppable 的 event.target 发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699388/

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