Средство форматирования с обратным вызовом в Dojo DataGrid

Я пытаюсь добавить пользовательский модуль форматирования в Dojo DataGrid. Этот форматер, насколько я понимаю, должен возвращать строку с html для представления.

Я хочу отобразить ссылку с обратным вызовом js при нажатии, т.е.

<a href="javascript:void(0)" onclick="callMeBack()">value</a>

Проблема в том, что я не хочу иметь глобальную функцию callMeBack(), а хочу написать встроенную функцию обратного вызова. Но я не могу заставить это работать. Пока я написал это:

 function callMeBack() { ... }
 var structure = [
            {name:"name", field:"name", width: "200px", formatter: function(name) {
                var link = domConstruct.create("a", {innerHTML: name});
                domAttr.set(link, "href", "javascript:void(0)");
                on(link, "click", callMeBack);
                return link.outerHTML;
            }},
            ....                
        ];   

Проблема, похоже, в том, что обратный вызов клика не регистрируется. Вполне понятно, учитывая, что DOM-узел, используемый в сетке, вероятно, будет построен после того, как будет возвращено строковое представление.

Но как я могу заставить это работать?


person Alexander Torstling    schedule 16.11.2012    source источник


Ответы (1)


Одним из возможных способов было бы определить функцию, такую ​​​​как xx.yy.callmeback, ГЛОБАЛЬНО, чтобы определение функции было найдено. Но я не чувствую, что это лучший способ.

person Aashish Bhandari    schedule 03.02.2013
comment
Если вы не думаете, что это лучший способ, почему вы публикуете его как ответ, а не комментарий? - person antonijn; 03.02.2013