我正在使用"html"库函数生成行列表。我在每行上放了一个按钮,并希望它在单击时调用一个函数。我试过了:
html`<div>Line text <button type="button" onclick="myFunction()">Click</button></div>`
myFunction
在笔记本中定义,但在单击按钮时不会调用它。我的使用在"html"中有几十行,而不仅仅是一行。
你也可以试试这个新的模板库,由 可观察的 htl - 超文本文字
模板
html`<button onclick=${() => ++mutable clicks}>click me</button>`
可变或您的函数
mutable clicks = 0
我搜索了更多,找到了Mike Bostock的这本笔记本,它在一个例子中间接回答了这个问题。我需要做的是:
{
const form = html`<form onsubmit="return false;">
<div>Line text <button name="myButton">Click</button></div>
</form>`;
form.myButton.onclick = () => {
// put the button click code here
};
return form;
}
我希望这对其他人有所帮助。
对于创建为inputs
组件的按钮,只需将函数放入reducer
选项中即可
viewof myButton = Inputs.button(
"Button Label Text",
{ reduce: myFunction }
)