jQuery UI draggable()和resizable()

时间:2010-04-13 03:48:42

标签: jquery-ui jquery

我想编写draggable()和resizable()代码,使得具有特定类的所有未来元素将继承这些插件而不再调用它们。

$('div.resizeMe').resizable({
containment: 'parent',
minWidth: 400,
minHeight: 200
})

执行上面的代码时,所有带resizeMe类的div都会继承resizable()函数。但是如果我用一个具有相同类的新div附加BODY,我需要再次执行该代码。所以我的目标是如何重写代码,使其适用于所有人,包括未来的元素。

1 个答案:

答案 0 :(得分:4)

您可以在这里使用.livequery() plugin,它将在当前匹配项上执行,并在新元素出现时执行,如下所示:

$('div.resizeMe').livequery(function() {
  $(this).resizable({
    containment: 'parent',
    minWidth: 400,
    minHeight: 200
  });
});

这将在当前和未来 div.resizeMe元素上运行。

如果您使用$.ajax()加载内容,可以选择在ajax successcomplete回调中运行代码,如下所示:

$.ajax({
  //options...
  success: function(data) {
    $('div.resizeMe', data).resizable({...options...});
  }
});

这只会在响应中的div.resizeMe个元素上运行,不会在您已经调整大小的元素上运行。