我正在使用Raphael.js
来绘制一些形状,我想知道如何通过点击它来激活click()
函数来选择当前。
我有这个功能:
function selectItem() {
console.log("selected" + this.id);
rect.attr({
fill: "#ff0"
});
我试图用这个:
this.click(selectItem);
众所周知拉斐尔使用自己的点击功能,我认为this
会起作用。
不幸的是,事实并非如此。
提前谢谢。
答案 0 :(得分:2)
您可以执行以下操作来使用Raphael的click()函数,查看 DEMO :
这个简单的代码使用click()
函数:
var paper = Raphael("area", 400, 400);
var r = paper.rect(100, 50, 80, 60, 10).attr({fill: 'yellow', stroke: 'red'}),
c = paper.circle(200, 200, 50).attr({fill: 'yellow', stroke: 'red'});
r.click(function() {
// add your console.log if needed
r.attr({fill: 'red', stroke: 'yellow', "stroke-width": 2});
c.attr({fill: 'yellow', stroke: 'red'});
});
c.click(function() {
c.attr({fill: 'red', stroke: 'yellow', "stroke-width": 2});
r.attr({fill: 'yellow', stroke: 'red'});
});
现在,如果您想使用 this
,请记住它仅在您在元素创建范围内使用时才有效。您可以为所有元素手动添加此代码,也可以创建几个数组以保留元素。然后,如果您知道要应用的索引click()
,请按arr[ind].click()
调用。
编辑:看看 demo ,我用过它。