2009-08-21 49 views
0

我有一個關於性能的問題。當我在可拖動的元素上調用可拖動(具有所有相同的選項)時,會有性能損失嗎?jQuery UI - 在多個可拖動的表現上會有損失?

我有對話泡泡這是拖累容器(比如漫畫)拖動。這些氣泡也droppables,因爲你可以選擇哪種泡沫的(講,憤怒,思維等),它是通過降低它們相應的圖標。這一切對於一個案例都有很好的期望。當我添加一個新的Bubble時,這個新的Bubble不會被我在初始階段開始的可拖動調用覆蓋。我自然必須做的是重新綁定。現在是我問自己這個問題的部分。解除綁定所有的泡沫,然後再重新申請可放開對象(通過簡單地回顧了氣泡的初始化函數)不會做任何好事,因爲它失去了可拖動標籤。所以我問自己,是否可以簡單地重做一個可拖動的,而不會由於雙重綁定相同的函數而失去性能。

我無法真正地測試它,因爲我在21「iMac上開發,這比計算機要快,這個Web應用程序將用於(性能可能會成爲問題的教育,例如小學)。

編輯:實際的問題是,如果我定義已經是投擲的元素上一個新的可放開,將只更改的選項或將其應用於一個全新的拖拽和雙擊將其綁定的問題聽起來不可思議,但?應用程序已經有2k + jQuery + jQueryUI代碼白衣很多拖動&拖放功能,我不能使用unbind light-headed。

EDIT_2:我還沒有考慮過銷燬函數n的jQueryUI。可以嘗試一個。

回答

1

大部分jQuery用戶界面的使用相同的通用格式爲破壞的綁定和設置完成後,或改變的選項後設置。

jQuery UI/Draggable

銷燬拖動:

$("#bubble1").draggable('destroy'); 

更改選項:

$("#bubble1").draggable('option', 'scope', 'someNewValue'); 

不能確定您的問題是領導,如果你創建一個新的泡沫,我覺得 - 您只需將新泡泡設置爲可用泡泡,然後更改舊泡泡的選項。

至於性能也越高,我想認爲,如果你先摧毀舊的實例,然後將其備份,或者只是改變在拖拽選項任何性能從「雙結合」可避免命中。

+0

這就是我所需要的。沒有考慮到,因爲我從來沒有需要它,直到現在。 – Mike 2009-08-21 09:19:49