我正在尝试将自定义格式化程序添加到 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 节点可能会在返回字符串表示之后构建,这很容易理解。
但我怎样才能使这项工作?