如何将JQuery UI Sortable小部件绑定到通过Ajax加载的html?

时间:2015-05-17 19:56:50

标签: javascript jquery ajax

这可能是一个简单的问题。

我有以下javascript / jquery:

$('body .combo-table').sortable({
    handle: '.grabber',
    opacity: 0.9,
    axis: 'y',
    start: function (e, ui) {

    },
    stop: function (e, ui) {

    }
});

.combo-table类div通过Ajax加载。当我刷新页面时,上面工作正常但如果我通过Ajax加载内容它不起作用。即使我稍后加载内容,我怎么能让它绑定?

1 个答案:

答案 0 :(得分:0)

在成功回调中做到这一点

$.ajax(
      {url: "demo_test.txt", 
      success: function(result){
      ...whatever code you use to update the DOM...
      $('body .combo-table').sortable({
          handle: '.grabber',
          opacity: 0.9,
          axis: 'y',
          start: function (e, ui) {

          },
          stop: function (e, ui) {

          }
       });
      }
    });

如果你不想在每个ajax调用中触发它,你可以在初始化可排序后添加自定义属性等标志,如

$('body .combo-table').attr('data-is-sortable');

然后在初始化可排序的

之前检查它
if($('body .combo-table:not([data-is-sortable])')
//initialize sortable