Javascript 在单击beahviour时,给所有圆元素赋值
我必须做一个函数,获取所有的圆元素,并使它们可以点击。使用我的代码,我只能单击最后创建的节点,我不明白为什么。你能帮我吗?我使用d3库,这是我的代码:Javascript 在单击beahviour时,给所有圆元素赋值,javascript,jquery,svg,d3.js,onclick,Javascript,Jquery,Svg,D3.js,Onclick,我必须做一个函数,获取所有的圆元素,并使它们可以点击。使用我的代码,我只能单击最后创建的节点,我不明白为什么。你能帮我吗?我使用d3库,这是我的代码: var allCircles = vis.selectAll('circle'); allCircles.on('click', function(){ /* make the same stuff depending from the circle clicked */ }); 如果你需要更多的解释,问我 非常感谢你帮助我` 我不使
var allCircles = vis.selectAll('circle');
allCircles.on('click', function(){
/* make the same stuff depending from the circle clicked */
});
如果你需要更多的解释,问我
非常感谢你帮助我` 我不使用d3库,也从未听说过它,但我可以不用它
var circles=document.getElementsByTagName('circle');
function onclik() {
//do stuff
}
for(var i=0;i<circles.length;i++){
circles[i].setAttribute("onclick","onclik()")
}
var circles=document.getElementsByTagName('circle');
函数onclik(){
//做事
}
对于(var i=0;i而言,最好在圆的(父)容器元素上添加事件侦听器。这意味着您有这样一个元素,例如可以在其中添加侦听器的
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,那么这个概念就在这里被调用。只是为了确保,您是否检查了什么allCircles
实际引用了多个元素?allCircles是一个包含一个元素的对象,即创建的所有圆的数组。此代码要放在SVG文件中。如果您希望它位于HTML文件中,请重播ce“document”值保存SVGDocument对象的变量名