Я пытаюсь добавить пользовательский модуль форматирования в 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-узел, используемый в сетке, вероятно, будет построен после того, как будет возвращено строковое представление.
Но как я могу заставить это работать?