【发布时间】:2015-11-09 14:22:40
【问题描述】:
我有一些代码可以生成类似这样的 HTML:
function foo(onclick:string):HTMLElement {
return parseHTML('<input type="button" onclick="' + escapeHTML(onclick) + '" />');
}
我想迁移到这样的代码:
function foo(onclick:string):HTMLElement {
var input = document.createElement('input');
input.type = 'button';
input.onclick = onclick; // <= is this correct?
return input;
}
除了我应该使用真正的 JavaScript 函数而不是代码字符串这一事实之外,使用传递的 JavaScript 字符串设置 onclick 属性的正确方法是什么,以便它的工作方式与使用onclick 属性生成 HTML?
编辑:
上面代码设置的input.onclick属性应该是一个真正的JavaScript函数对象,而不是一个JavaScript字符串(根据Mozilla docs)所以上面的代码是不正确的。
我正在尝试更改foo() 的实现而不需要更改用法。他们需要能够继续传递 JavaScript 字符串。
【问题讨论】:
标签: javascript html dom onclick typescript