将jQueryUI可调整大小的小部件应用于动态创建的元素 这个问题与事件授权无关
我想将jQuery可调整大小的小部件应用于一系列可能动态创建的将jQueryUI可调整大小的小部件应用于动态创建的元素 这个问题与事件授权无关,jquery,jquery-ui,jquery-ui-resizable,Jquery,Jquery Ui,Jquery Ui Resizable,我想将jQuery可调整大小的小部件应用于一系列可能动态创建的div标记 是否有一种方法可以使用类似事件委托的行为来动态地将jQuery可调整大小的小部件添加到新元素中 以下是示例(请注意,新创建的绿色元素无法调整大小): $(函数(){ var cols=$(“#cols”).子项(“.col”); 可调整大小的({ 最大高度:20, 身高:20, 距离:5,, 句柄:'e', 开始:函数(){ log(“我已经开始了!”); }, 停止:函数(){ log(“我停下来了!”); } });
div
标记
是否有一种方法可以使用类似事件委托的行为来动态地将jQuery可调整大小的小部件添加到新元素中
以下是示例(请注意,新创建的绿色元素无法调整大小):
$(函数(){
var cols=$(“#cols”).子项(“.col”);
可调整大小的({
最大高度:20,
身高:20,
距离:5,,
句柄:'e',
开始:函数(){
log(“我已经开始了!”);
},
停止:函数(){
log(“我停下来了!”);
}
});
$(#addNew”)。在(“单击”,函数()上{
cols.filter(“”+parseInt(cols.length+1)+“”)之后的(“”+last”);
cols=$(“#cols”)。儿童(“.col”);
});
});代码>
.col{
浮动:左;
宽度:20px;
高度:20px;
背景:#f00;
右边距:1px;
}
新上校{
背景:#0f0;
}
钮扣{
清除:左;
显示:块;
边缘顶部:10px;
}
1.
2.
3.
4.
添加
您需要重新初始化col.resizeable()代码>添加新元素后。
请检查以下工作代码:
$(函数(){
var cols=$(“.col”);
可调整大小的({
最大高度:20,
身高:20,
距离:5,,
句柄:'e',
开始:函数(){
log(“我已经开始了!”);
},
停止:函数(){
log(“我停下来了!”);
}
});
$(#addNew”)。在(“单击”,函数()上{
cols.filter(“”+parseInt(cols.length+1)+“”)之后的(“”+last”);
cols=$(“.col”);
cols.可调整大小({maxHeight:20,
身高:20,
距离:5,,
句柄:'e'});
});
});代码>
.col{
浮动:左;
宽度:20px;
高度:20px;
背景:#f00;
右边距:1px;
}
新上校{
背景:#0f0;
}
钮扣{
清除:左;
显示:块;
边缘顶部:10px;
}
1.
2.
3.
4.
添加
试试这个代码它对我有用
$("#cols").on('mouseenter',cols,function(){
cols.resizable({
maxHeight: 20,
minHeight: 20,
distance: 5,
handles: 'e',
start: function() {
console.log("I've started!");
},
stop: function() {
console.log("I've stopped!");
}
});
});
我知道这是一篇老文章,但我仍然觉得我可以发布一个更好的答案供将来参考,因为在你的评论中,你提到了代码重用,并且没有多次将插件应用于元素,这个解决方案应该可以克服这些问题
$(函数(){
applyresizeblelplugintocol($(“.col”);//通过传递插件必须应用到的所有元素来校准函数
$(#addNew”)。在(“单击”,函数()上{
$(“.col:last”)。在(''+parseInt($(.col”).length+1)+''之后;
applyresizeblelplugintocol($(“.col:last”);//获取最后一个元素,即刚才创建的元素
});
函数applyresizeblugingintocol(元素){//可重用函数
元素。可调整大小({
最大高度:20,
身高:20,
距离:5,,
句柄:'e',
开始:函数(){
log(“我已经开始了!”);
},
停止:函数(){
log(“我停下来了!”);
}
});
}
});代码>
.col{
浮动:左;
宽度:20px;
高度:20px;
背景:#f00;
右边距:1px;
}
新上校{
背景:#0f0;
}
钮扣{
清除:左;
显示:块;
边缘顶部:10px;
}
1.
2.
3.
4.
添加
可能重复的可能重复的可能重复的@MelanciaUK的可能重复的可能重复的我看不出它们是如何相同的?我在问你如何才能委托一个不是事件的可调整大小的小部件?谢谢你的回答,由于重复的代码,我试图避免这样做。对于动态创建的元素,你必须重新初始化resizeble()函数,否则它将不起作用。我认为重新初始化resizeble()不会创建重复的实例?