2011-11-04 37 views
2

我试图在DOM加载后动态分配的jQuery的UI的调整大小不同的实例。动态变化/分配UI可调整大小的情况下

我基本上要分配取决于某些因素真或假的固定的aspectRatio。当我请求一个新的可调整大小的实例时,它似乎没有更新。

用于分配可调整大小()的选择也被动态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/(按 '变化' 来分配初始可调整大小)

我也用“活”和“的liveQuery”插件在PL “捆绑”,所以我不知道问题的根源可能是什么高手..

找到了解决办法

答案是正确的jQuery UI的文件在我的面前:

可调整大小('destroy'),然后重新分配它。

$('.lyr, .lyr2').resizable('destroy').resizable().. 
+0

发现的解决方案,并加入以上质疑。 – digout

回答

2

答案是正确的jQuery UI的文件在我的面前:

可调整大小的(“摧毁”)之前重新分配它。

$('.lyr, .lyr2').resizable('destroy').resizable().. 
相关问题