2011-05-10 45 views
4

在拉斐尔,js,我该如何选择一个元素?例如,如果我有一个矩形,如何选择它?在Raphael中,是否有任何方法来选择元素,如使用jQuery选择DOM元素?Raphael.js,如何选择一个元素?

回答

6

要选择一个svg DOM元素,假设raphael元素的一个节点有一个ID,您可以在'jQuery'模式下使用$('#ID')或'native'方式document.getElementById('ID')

此外,使用拉斐尔事件的处理是非常简单的,例如,当你点击一个矩形,你可以“选择”它,这样(演示这里=>http://jsfiddle.net/steweb/zMYU8/):

标记

<div id="canvas"></div> 

JS

var selected = null; //var to store selected element 

//initialize the raphael canvas and store it in a var 
var canvas = Raphael(document.getElementById("canvas"), 320, 200); 

//first rectangle 
var r = canvas.rect(10, 10, 50, 50).attr("fill", "#FFFF22"); 

//second rectangle 
var r1 = canvas.rect(70, 70, 50, 50).attr("fill", "#FFFF22"); 

//first rectangle click 
r.click(function(){ 
    //change attributes 
    r1.attr("stroke","black"); 
    r.attr("stroke","green"); 
    selected = r; //update selected var 
}); 

//second rectangle click 
r1.click(function(){ 
    //change attributes 
    r.attr("stroke","black"); 
    r1.attr("stroke","green"); 
    selected = r1; //update selected var 
});