2011-12-06 212 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

我認爲它實際上是單元測試可調整大小事件的最佳解決方案。 –