给所有圆圈元素点击珠子
Give to all circle element onclick beahviour
本文关键字:元素 更新时间:2023-09-26
我必须创建一个函数来获取所有圆形元素并使它们可单击。使用我的代码,我只能单击创建的最后一个节点,我不明白为什么。你能帮我吗?我使用 d3 库,这是我的代码:
var allCircles = vis.selectAll('circle');
allCircles.on('click', function(){
/* make the same stuff depending from the circle clicked */
});
如果您需要更多解释,请问我。
非常感谢你帮助我!
最好
在圆圈的(父)容器元素上添加事件侦听器。这意味着您有这样一个元素,例如可以添加侦听器的<g>
。
var circleContainer = /* find your g element that contains the circles here */;
circleContainer.on('click', function(){
// d3.event.target is the clicked circle
d3.select(d3.event.target).attr("fill", "blue");
});
如果你更熟悉jQuery,这个概念在那里被称为"委托事件"。
我不使用 d3 库,我从未听说过它,但我可以在没有
var circles=document.getElementsByTagName('circle');
function onclik() {
//do stuff
}
for(var i=0;i<circles.length;i++){
circles[i].setAttribute("onclick","onclik()")
}
我希望它有所帮助!
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 根据元素和容器大小计算边距