2014-09-04 43 views
0

我使用Raphael.js动态创建画布元素,但是当元素被按下时我需要改变颜色。 我只是将点击事件附加到每个特定的圆上,但我如何才能更改按下的元素的颜色?当你点击一个特定的画布元素时改变颜色

paper = Raphael("canvas", 500, 500); 
    circs = paper.set(); 
    for (i = 0; i < 21; ++i) 
    { 
    opa = ran(3,10)/10; 
    circs.push(paper.circle(ran(0,500), ran(0,500), ran(13,30)).attr({"fill-opacity": opa, 
    "stroke-opacity": opa }).click(function(){ 
     $("#toggle").click(); 
     //Change color? 

    })); 

    } 

回答

0

不太清楚的切换是有什么,可帮助您在需要时产生的jsfiddle。

通常你会做这样的事情

paper.circle(x,y,r).click(function(){ 
    this.attr({ fill: "blue", opacity: "0.5" }); 
}); 
0

我从来没有使用拉斐尔,但作为任何其他jquery对象,你应该在对象范围内使用$(this)。从拉斐尔文档我看你需要改变填充属性,所以你的代码应该是

$(“#toggle”)。click(); $(this).attr(“fill”,“#f00”);

希望帮助

相关问题