在Raphaeljs中,我试图完成一个简单的任务,即如果单击了任何元素,则应取消单击先前单击的元素。点击功能,在元素周围显示拉斐尔BBox
previous_elem_id = "";
//For each element
element.click(click_fn);
function click_fn(){
if(previous_elem_id != ""){
let prev_elem = paper.getById(previous_elem_id);
prev_elem.unclick();
}
if(this.rect == undefined){
var coords = this.getBBox();
this.rect = paper.rect(coords.x, coords.y, coords.width, coords.height)
.attr({fill: "none", stroke: "#aaaaaa", "stroke-width": 1});
}else{
this.rect.show();
}
previous_elem_id = this.id;
}
我认为我对unclick
函数有一些基本问题。我在上面的代码中假设unclick
将撤消click
的影响。但是,如果是这种情况,是否还会在代码的最后一行中使用当前元素ID撤消previous_elem_id
分配。
非常感谢您对采取预期行动有所帮助