2014-10-01 48 views
0

我們正在編寫一個框架,並且在某種情況下被卡住了。每當一個小部件(所有這些小部件都是我們自定義開發的,並且源代碼都可用)應用時,我們會更新widgetCollection,並且稍後它需要銷燬通過我們的widgetCollection註冊的所有小部件。調用銷燬未知的jQuery小部件

這裏出來的問題:假設部件部件名稱是在DOM 應用#domElementID我可以打電話給摧毀像

eval("$('#"+domElementID+"')."+widget-name+"('destroy')") 

但我們要避免使用eval。我們如何繼續,任何幫助表示讚賞?

我們正在註冊_create(小部件中的最後一條語句)的小部件,並從_destroy註銷。我們需要處理這些小部件的請求,這些請求並沒有被開發人員明確銷燬。

回答

3

我想你正在尋找的是bracket notation

var widget = 'somename'; 
$('#domElementID')[widget]('destroy'); 
+1

認真做人,你讓我很快樂。 :) 非常感謝。 – 2014-10-01 12:02:41