我正在尝试在 DOM 加载后动态分配 jQuery-UI 可调整大小的不同实例。
我基本上想根据某些因素分配一个固定的真或假纵横比。当我请求一个新的可调整大小的实例时,它似乎没有更新。
用于分配 resizable() 的选择器也是在 DOM 加载后动态创建的。
这是我的代码的简化示例:
jQuery:
$(document).ready( function() {
$('.lyr').addClass('loose');
$('.lyr2').addClass('fixed');
$('#change').bind( 'click', function() {
if( $('.lyr, .lyr2').hasClass('loose') ) {
$('.lyr, .lyr2').addClass('fixed').removeClass('loose');
$('#status').html('changed to fixed');
$('.lyr, .lyr2').resizable({
aspectRatio: true,
handles: 'all'
});
} else {
$('.lyr, .lyr2').addClass('loose').removeClass('fixed');
$('#status').html('changed to loose');
$('.lyr, .lyr2').addClass('fixed');
}
});
});
HTML:
<input type='button' id='change' value='change'>
<div id="canvas">
<p>Resizable items</p>
<div class='lyr'></div>
<div class='lyr2'></div>
</div>
这是一个运行示例:http ://digitaloutback.co.uk/resizable-eg/ (按“更改”分配初始可调整大小)
我还使用了“live”和“livequery”插件来代替“bind”,所以我不确定问题的根源是什么。
找到了解决方案
答案就在 jQuery UI 文档中:
resizable('destroy') 在重新分配之前。
$('.lyr, .lyr2').resizable('destroy').resizable()..