2

我正在尝试在 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()..
4

1 回答 1

2

答案就在 jQuery UI 文档中:

resizable('destroy') 在重新分配之前。

$('.lyr, .lyr2').resizable('destroy').resizable()..
于 2011-11-07T22:07:44.297 回答