2011-12-06 159 views
1

我想用jquery调整div的大小并且具有alsoResize触发器: 我试着改变宽度然后触发resize事件,但它不起作用。jQuery-UI可调整大小,编程调整大小

小提琴:http://jsfiddle.net/Ns3yn/2/

谢谢!

+0

什么不工作?看起来是对的。 – BZink

+0

图片未被调整大小(更新后的小提琴使其更加清晰) – chacham15

+0

正如您在使用鼠标调整大小时所看到的那样,您已正确声明了可调整大小。您试图以编程方式触发它的方式不起作用。 – BZink

回答

0

因为无处说可调整大小的插件使用resize事件触发更改。您只需在窗口选择器后添加.add('img')以获得预期结果。

+0

这不是重点,重点是分离调整所有子元素的代码和调整整个 – chacham15

0

.trigger(“resize”)实际上并未触发resize事件。

如果你明确地绑定到你会看到这个事件...

$(".window").bind("resize", function(){ 
    alert("resize event"); 

}); 
+0

调整的代码似乎是你不正确:http:// jsfiddle。 net/Ns3yn/7 /更具体地说,正如我在文档中所读到的:如果手动触发,div仍然可以接收事件。 – chacham15

2

这个问题是一个有趣的一个。我需要我调整大小的“alsoResize”对象,同时调整原始对象的大小。

首先,它是一个要求jQuery用户界面功能:
Resizable: Expose an API for programatically triggering a resize

但是,直到被实施,以代替创建这个功能我自己,我发现了一个相当不错的快速解决方案。该解决方案来自这里:
Programmatically Resize a resizable element


该解决方案采用的是模拟鼠标拖动一些jQuery的单元测试库。你可以在这里找到必要的库:
jquery.simulate.js
resizable_test_helpers.js


所以包括上述这两个文件,然后就可以像这样运行代码:

var handle = ".ui-resizable-se"; 
TestHelpers.resizable.drag(handle, 50, 50); 

这将编程50调整你的对象像素向右和向下。

+0

我认为它实际上是单元测试可调整大小事件的最佳解决方案。 –