我在svg中动态创建了一些圈子,我想向所有圈子添加onlick
功能。我知道它可以这样做:<rect class="btn" x="0" y="0" width="10" height="10" onclick="alert('click!')" />
,但我正在创建这样的元素:
newCircle.setAttribute("class","circle");
newCircle.setAttribute("cx",centerX);
newCircle.setAttribute("cy","850");
newCircle.setAttribute("r","150");
newCircle.style.stroke = "black";
newCircle.style.strokeWidth = "2px";
newCircle.style.opacity = circleOpacity[i-1];
newCircle.style.fill = circleColour[i];
svgNode.appendChild(newCircle);
我尝试添加此内容,
$(".circle").click(function() {
onclick= "alert('click!')";
})
但它不起作用。
我也尝试过这样的事情:newCircle.setAttribute("onclick","myFunction");
我怎样才能让它发挥作用?谢谢!
答案 0 :(得分:2)
$(".circle").click(function() { onclick= "alert('click!')"; })
这应该是
$(".circle").click(function() {
alert('click!');
})
newCircle.setAttribute("onclick","myFunction");
这应该是
newCircle.setAttribute("onclick","myFunction()");
但是,现在,正常的做法如下:
newCircle.addEventListener("click", myFunction);
答案 1 :(得分:0)
试试这个
jQuery('body').on('click','.circle',function(){
alert('clicked')
})