我想编写draggable()和resizable()代码,使得具有特定类的所有未来元素将继承这些插件而不再调用它们。
$('div.resizeMe').resizable({
containment: 'parent',
minWidth: 400,
minHeight: 200
})
执行上面的代码时,所有带resizeMe类的div都会继承resizable()函数。但是如果我用一个具有相同类的新div附加BODY,我需要再次执行该代码。所以我的目标是如何重写代码,使其适用于所有人,包括未来的元素。
答案 0 :(得分:4)
您可以在这里使用.livequery()
plugin,它将在当前匹配项上执行,并在新元素出现时执行,如下所示:
$('div.resizeMe').livequery(function() {
$(this).resizable({
containment: 'parent',
minWidth: 400,
minHeight: 200
});
});
这将在当前和未来 div.resizeMe
元素上运行。
如果您使用$.ajax()
加载内容,可以选择在ajax success
或complete
回调中运行代码,如下所示:
$.ajax({
//options...
success: function(data) {
$('div.resizeMe', data).resizable({...options...});
}
});
这只会在响应中的div.resizeMe
个元素上运行,不会在您已经调整大小的元素上运行。