我正在尝试在DOM加载后动态分配jQuery-UI的不同实例可调整大小。
我基本上想要根据某些因素分配固定的aspectRatio为true或false。当我请求一个新的可调整大小的实例时,它似乎没有更新。
用于分配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文档中,答案就在我面前:
在重新分配之前调整大小('destroy')。
$('.lyr, .lyr2').resizable('destroy').resizable()..
答案 0 :(得分:2)
在jQuery UI文档中,答案就在我面前:
在重新分配之前调整大小('destroy')。
$('.lyr, .lyr2').resizable('destroy').resizable()..