gpt4 book ai didi

jquery-ui - 将项目移动到新的可排序 : How to reference list I am dropping element to?

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

我有两个链接在一起的可排序列表。

我在第一个列表上有一个事件监听器,在“sortupdate”上调用函数“A”,以便在我对列表中的项目进行排序或从另一个列表接收项目时执行某些功能。

我在第二个列表上也有一个事件监听器,它在“sortreceive”上调用函数“B”来执行一些功能,当它从另一个列表中接收到一个项目时。

我的问题是,每当我将某些内容从列表 1 移动到列表 2 时,函数“A”也会被调用,从而导致我的代码出错。我想在函数“A”的开头添加一个“if”子句,表示仅当第一个列表是目标时才运行此代码,但我终生无法弄清楚如何引用目标。

或者也许有更好的方法来检查一个项目是否被拖出这个列表?

/* 添加当前代码 */

$("#divMainMenu").bind("sortupdate", function(event, ui) 
{ dropRootCategory(event,ui);})//when the main menu receives a menu item
$("ul.divSubMenu ").bind("sortreceive", function(event, ui)
{ dropSubMenu(event, ui);})//when the main submenu receives a menu item
function dropRootCategory(event, ui)
{/*item dropped on root category*/
//do some different stuff
}
function dropSubCategory(event, ui)
{//item dropped on a sub submenu
//do some stuff
}

我已尝试检查目标:

if (event.target.id == 'divMainMenu') { //

这不起作用,因为无论我去哪里,目标 id 都保持“divMainMenu”。

接下来我尝试检查发件人:

if (ui.sender == 'null'){// 

但是,这只是在通过 sortupdate 阶段并进入 sortreceive 之后才填充任何信息,因此它再次触发代码运行。

/*******已更新答案根据下面基思的想法,我用以下代码回答了这个问题:在启动菜单时,我添加了一个变量来保存主菜单的原始长度

var numMenuItems = $('#divMainMenu').children().length;

那么对于我的 if 语句:

if ($('#divMainMenu').children().length >= numMenuItems){
//do some stuff
}

再次感谢基思!我对这个疯了:)

最佳答案

您可以根据可排序的文档尝试使用 ui.sender:

"ui.sender - 项目来源的可排序对象(仅当您从一个连接列表移动到另一个连接列表时才存在)"

这看起来像您要找的东西。

关于jquery-ui - 将项目移动到新的可排序 : How to reference list I am dropping element to?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955835/

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