答案可能取决于它是否会覆盖其他一些对象等。如果其他解决方案不起作用,您可以尝试将 2 个对象分组为一组,并将一个对象作为触发点。所以像下面...
var set = r.set();
var rect = r.rect(200,200,50,70).attr({ fill: 'red' });
set.push(
r.path("M 150 250 h 200").attr({
fill: "#ff0",
gradient: "90-#526c7a-#64a0c1",
stroke: "#3b4449",
"stroke-width": 5
})
);
set.push(
r.path("M 150 250 h 200").attr({
fill: "#ff0",
gradient: "90-#526c7a-#64a0c1",
stroke: "#3b4449",
"stroke-width": 20,
"stroke-opacity": 0.05,
"stroke-linecap": "round"
})
);
set.mouseover(function(){
alert('mouse over');
});
http://jsfiddle.net/Ap29U/2/上有一个小提琴显示它在另一个对象上(不透明度可以进一步调整,0.01 可能会使它几乎不可见)。我还刚刚在http://jsfiddle.net/Ap29U/3/添加了一个小提琴,展示了如何让它们一起移动。