首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在attr中动态onclick?

在attr中动态onclick?
EN

Stack Overflow用户
提问于 2020-08-21 14:57:48
回答 3查看 83关注 0票数 1

我想动态创建一组由字符串列表生成的按钮:

代码语言:javascript
运行
复制
keys = [ "Temp_Innen", "Temp_Außen", "Druck", "Feuchte_Innen", "Feuchte_Außen", "PH10", "PH25" ]

这些字符串还应用于onClick事件函数(参数)上的每个按钮...

我使用它来创建主体中的按钮:

代码语言:javascript
运行
复制
d3.select('body')
  .selectAll('button')
  .data(keys)
  .enter()
  .append('button')
  .text(d => d)
  .attr('type', 'button');

这给了我漂亮的按钮:

但是,如何将每个字符串动态添加到通过onClick调用的函数参数中呢?我试过了,但不起作用:

代码语言:javascript
运行
复制
.attr('onClick',`clicked(${d => d})`);

但这并不是将字符串写入clicked()参数,而是将其写入未表示的文本中:

代码语言:javascript
运行
复制
<button type="button" onClick="clicked(d => d)">Temp_Innen</button>
<button type="button" onClick="clicked(d => d)">Temp_Außen</button>
...

有没有办法动态地做到这一点,或者我应该考虑在我的html文件中静态地编写所有这些按钮?

EN

Stack Overflow用户

发布于 2020-08-21 15:11:40

到目前为止,这是可行的:

代码语言:javascript
运行
复制
.attr('onClick',(d) => {
  return `clicked("${d}")`});

正确地表示为:

代码语言:javascript
运行
复制
<button type="button" onclick="clicked('Temp_Außen')">Temp_Außen</button>
<button type="button" onclick="clicked('Temp_Innen')">Temp_Innen</button>
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63517958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档