2012-05-22 44 views
3

我有一個可調整大小的容器div。在那個div裏面還有另一個可調整大小的div。 如果我銷燬了容器div的resize處理程序,那麼內部div的resize處理程序也會被銷燬。就像這樣:刪除特定的調整大小處理程序jQuery

$(".container").resizable("destroy");

有沒有辦法破壞容器的大小調整處理,但保留調整大小處理集裝箱內的股利?

+1

我認爲你只能通過編輯jQuery UI源代碼來做到這一點..實際上它看起來像一個bug,因爲你甚至無法通過刪除調整大小處理程序來刪除resize處理程序到內部div的外部股利[檢查出來](http://jsfiddle.net/D92vA/)我會說報告[這裏](http://bugs.jqueryui.com/report/10?P=resizable)並等待對於下一個版本的jQuery UI – noob

回答

2

這似乎是jQuery UI源中的一個錯誤。父容器上的「銷燬」調用是從目標容器對象和所有包含的元素中移除ui可調整大小的句柄。

問題的根源在於198行的jquery.ui.resizable.js中的銷燬函數(如JQuery UI v1.8.20)。

注意,它被調用:

.find('.ui-resizable-handle').remove(); 

這應改爲改爲:

.children('.ui-resizable-handle').remove(); 

更改此調用將阻止用戶界面調整大小的把手從你內心的div被刪除。

希望有幫助!

+0

好的,謝謝。不幸的是我使用谷歌鏈接的jquery文件... – user1121487

+1

我報告了這個問題。希望它能儘快爲您解決。以下是對錯誤報告的參考:[link](http://bugs.jqueryui.com/ticket/8344) – christurnerio

+1

提交拉取請求。 [鏈接](https://github.com/jquery/jquery-ui/pull/661) – christurnerio