将事件处理程序名称作为子项插入到 json2html 模板中
Insert event handler's name to json2html's template as childern
我正在使用 json2Html。
var template = {
"tag": "tr",
"children": [
{
"tag": "td",
// "html": "<input type='radio' name='TenantID' value='${TenantID}' onclick='onTenantClick(event)'/>" // This works
"children": [
{
"tag": "input",
"type": "radio",
"name": "TenantID",
"value": "${TenantID}",
"onclick": "onTenantClick(event)"
}
]
},
]
};
"html" 部分有效。如果我将 radio 元素添加为子元素,我会为 onclick 事件处理程序获得 TypeError: e.data.action.call is not a function
。
文档的示例 (https://json2html.com/examples/) 显示如下:
"onclick":function(){
$(this).css("visibility","hidden");
但是我想插入另一个 .js 文件中的函数名。
如 json2html.com 文档中所述,任何 on 事件都必须是一个函数。所以如果你想调用另一个函数,你需要像这样包装
var template = {
"<>": "tr",
"html": [
{
"<>": "td",
"html": [
{
"tag": "input",
"type": "radio",
"name": "TenantID",
"value": "${TenantID}",
"onclick": function(e) { onTenantClick(e.event); }
}
]
},
]
};
请注意,“tag”已弃用并替换为“<>”,“children”已弃用并替换为“html”
我正在使用 json2Html。
var template = {
"tag": "tr",
"children": [
{
"tag": "td",
// "html": "<input type='radio' name='TenantID' value='${TenantID}' onclick='onTenantClick(event)'/>" // This works
"children": [
{
"tag": "input",
"type": "radio",
"name": "TenantID",
"value": "${TenantID}",
"onclick": "onTenantClick(event)"
}
]
},
]
};
"html" 部分有效。如果我将 radio 元素添加为子元素,我会为 onclick 事件处理程序获得 TypeError: e.data.action.call is not a function
。
文档的示例 (https://json2html.com/examples/) 显示如下:
"onclick":function(){
$(this).css("visibility","hidden");
但是我想插入另一个 .js 文件中的函数名。
如 json2html.com 文档中所述,任何 on 事件都必须是一个函数。所以如果你想调用另一个函数,你需要像这样包装
var template = {
"<>": "tr",
"html": [
{
"<>": "td",
"html": [
{
"tag": "input",
"type": "radio",
"name": "TenantID",
"value": "${TenantID}",
"onclick": function(e) { onTenantClick(e.event); }
}
]
},
]
};
请注意,“tag”已弃用并替换为“<>”,“children”已弃用并替换为“html”