Jquery ui 在事件接收时从jQuery UI排序表中删除项
我想从接收事件的jQuery UI可排序列表中删除一项。我正在尝试这样的东西:Jquery ui 在事件接收时从jQuery UI排序表中删除项,jquery-ui,jquery-ui-sortable,Jquery Ui,Jquery Ui Sortable,我想从接收事件的jQuery UI可排序列表中删除一项。我正在尝试这样的东西: receive: function(event, ui){ num_of_items = num_of_items+1; if(num_of_items >= 3) { ui.item.remove(); num_of_items = num_of_items -1; } } 这将导致以下错
receive: function(event, ui){
num_of_items = num_of_items+1;
if(num_of_items >= 3)
{
ui.item.remove();
num_of_items = num_of_items -1;
}
}
这将导致以下错误:
未捕获的TypeError:无法读取未定义的属性“options”
item.remove()似乎可以在任何其他事件上正常工作,例如beforeStop、stop等。在接收回调时删除项不是一个好主意,因为它可以用于其他回调。但你不能让它变得更糟糕。以下是我的建议:
- 使用参数初始化您的排序表
- 在接收回调上,删除用于参数项的类,使其不再可排序
- 此时,调用可排序元素应该是一个好主意(可能没有必要)。向该元素添加一个类,以便使用选择器轻松查找并隐藏它(同时使用jQuery)
- 然后,删除一个项目可以很容易地安全地推迟,并在stop或beforeStop回调中调用它进行清理