升级到jQuery 1.7和事件对象的变化

Upgrading to jQuery 1.7 and changes to the event object

本文关键字:事件 对象 变化 jQuery      更新时间:2023-09-26

好吧,这个通过我进行了一个循环,但我最终追踪到回调时事件对象参数的变化。让我来概述一下这个问题:

我最近从1.6.2升级到jquery 1.7,注意到一些奇怪的事情发生了。

最明显的是我的jquery-ui (1.8.16)"sortables"开始产生一些不想要的副作用:

HTML结构
<ul id="ulFeatured">
    <li><span class="Title">Item 1</span></li>
    <li><span class="Title">Item 2</span></li>
    <li><span class="Title">Item 3</span></li>
</ul>
<ul id="ulAvailable">
    <li><span class="Title">Item 4</span></li>
    <li><span class="Title">Item 5</span></li>
    <li><span class="Title">Item 6</span></li>
</ul>
JQUERY

$("#ulFeatured, #ulAvailable").sortable
(
    {
        connectWith: ".connectedSortable",
        receive: function (event, ui)
        {
            console.log(event.target);
        }
    }
).disableSelection();
结果

1.6.12
<ul id="ulFeatured" class="connectedSortable ui-sortable NoItems" style="">
1.7
<span class="Title">

有人对这个有什么见解吗?我希望使用事件的原始功能。目标是接收项目的项目。

谢谢!:)

您可以使用jQuery方法.closest()来查找项目所属的列表。

$("#ulFeatured, #ulAvailable").sortable
(
    {
        connectWith: ".connectedSortable",
        receive: function (event, ui)
        {
            console.log($(event.target).closest('ul'));
        }
    }
).disableSelection();

这里的工作示例