当元素si已经使用appendTo创建了这个元素时,抛出事件

时间:2014-09-09 15:06:06

标签: jquery jquery-ui events appendto

我已经使用jQueryUI创建了一个可排序的组件,这可以正常工作,包括当这些元素由appendTo jQuery函数创建时。

$template.appendTo("#lista_criterios");

$( "#lista_criterios" ).sortable({
    handle: ".criterio-header",
    placeholder: "alert alert-info",
    axis: 'y',
    update: showMessage('alert-success', 'Ordenacion de criterios completada.')
});

当需要在排序完成时抛出事件更新并且可排序元素的其他功能不起作用。

请你能帮帮我吗?

注意:示例代码与原始代码不同。

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的代码,我在其中看到的唯一问题是update选项需要一个事件处理程序,而不是showMessage()返回的任何内容。因此,您需要(1)将其包含在function(){}调用中,否则(2)将其返回值设置为1。正如你所说它等同于alert,所以前者可能更容易:

$( "#lista_criterios" ).sortable({
    // ...
    update: function(e, ui) {
        showMessage('alert-success', 'Ordenacion de criterios completada.');
    }
});

或第二种方式:

function showMessage(arguments) {
     return function(event, ui) {
          // show my alert with the arguments above
     };
}

Ref. documentation