#jquery #namespaces
#jquery #пространства имен
Вопрос:
Я пишу функцию внутри : index.fragment.singleEntry
, где я ожидаю вызвать функцию index.fragment.singleEntry.editTitle
. Вместо записи полного пространства имен этой функции, есть ли более короткий способ вызвать ее?
Я вызываю: index.fragment.singleEntry.editTitle.load();
внутри: index.fragment.singleEntry.load
Заранее спасибо.
jQuery.namespace("index.fragment.singleEntry");
index.fragment.singleEntry.load=function(vasId) {
//==================================================
// init GUI components
tinyMCE.init({
mode : "textareas",
theme : "simple",
width: "500",
height: "300"
//elements : "editContentTa"
});
initEditControl(vasId);
index.fragment.singleEntry.editTitle.load();
updateGUI_content();
//===================================================
Комментарии:
1. Вот почему мы избегаем подобных пространств имен.
Ответ №1:
index.fragment.singleEntry.load= (function(singleEntry) {
return function(vasId) {
//==================================================
// init GUI components
tinyMCE.init({
mode : "textareas",
theme : "simple",
width: "500",
height: "300"
//elements : "editContentTa"
});
initEditControl(vasId);
singleEntry.editTitle.load();
updateGUI_content();
...
})(index.fragment.singleEntry)
Завершите свой код замыканием, чтобы сделать определенные переменные локальными. Затем верните вашу функцию.
В качестве альтернативы вы можете вызвать, this.editTable.load()
поскольку this
в singleEntry.load
есть singleEntry
Комментарии:
1. вау! это ПОТРЯСАЮЩЕ! Просто посмотрите на те, которые используют paralesis… Как вы, ребята, до этого додумались!