我正在使用JQuery UI创建一个在其列之间具有可移动portlet的板。我有一个.ajax()
调用,它将一个portlet移动到的列的新索引发送到服务器,但是我注意到我的代码是在使用新的portlet更新DOM之前执行的,导致我的{{1}函数返回从
在执行我的事件之前,如何确保JQuery UI事件已完成?
我希望有一种方法可以修改JQuery UI脚本,一旦完成就调用我的函数,还有替代方法吗?
修改
以下是一些代码:
我使用GetNewStatusColumnIndex
JQ UI功能创建一个带有列的电路板。
sortable
然后可以在列之间移动的portlet:
$('.column').sortable({
connectWith: ".column"
});
我自己的click事件绑定一旦用户将portlet放入列中,就将列的索引发送到服务器进行存储:
$(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all")
.find(".portlet-header")
.addClass("ui-widget-header ui-corner-all")
.prepend("<span class='ui-icon ui-icon-minusthick'></span>")
.end()
.find(".portlet-content");
$(".portlet-header .ui-icon").click(function () {
$(this).toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick");
$(this).parents(".portlet:first").find(".portlet-content").toggle();
});
获取id的函数:
$('.portlet').on('mouseup', function () { updateTaskStatus(GetNewStatusColumnIndex($(this))); });
除了我的函数之外,一切正常,返回在使用新portlet更新DOM列之前执行的列索引(其id),返回先前的索引。