在拉斐尔,js,我该如何选择元素?例如,如果我有一个矩形,如何选择它?在Raphael中,有没有办法选择元素,比如使用jQuery选择DOM元素?
答案 0 :(得分:6)
要选择svg DOM元素,假设raphael元素的节点具有ID,您可以通过$('#ID')
或“本机”document.getElementById('ID')
以“jQuery”模式执行此操作。
此外,使用raphael处理事件非常简单,例如当您单击一个矩形时,您可以通过这种方式“选择”它(此处演示=> 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
});