我正在尝试删除悬停并单击svg元素(拉斐尔)。刚刚写了一个示例(没有验证语法错误,请原谅),每当updateBox函数执行时,它会添加悬停和单击(下面的示例只是描述我的问题的一段代码,我可以避免悬停和单击,但在我们的实际项目中,我们不想因为某个原因而删除它们)。我尝试了解除绑定,也尝试了返回为空的悬停函数,但当鼠标进入和离开时,我们仍然可以看到悬停操作。
function updateBox() {
var helperRect = _drawOptions.paper.rect(bbox.x - 1, bbox.y - 1,
(bboxWidth !== 0 ? bboxWidth + 2 : 3),
(bboxHeight !== 0 ? bboxHeight + 2 : 3));
helperRect.attr(Configuration.getAttributes("helperRect"));
helperRect.hover(_hoverOverEl, _hoverOutEl);
helperRect.click(_clickEl);
if(a==p)
helperRect = _updateDocHeader(helperRect);
}
function _updateDocHeader(hb) {
hb = $.extend(hb, {
documentId : _paperProperties.header.documentId,
docSlideNo : _paperOptions.whiteboard.docEl.docSlideNo,
docTitle : _paperProperties.header.docTitle,
//set order no to 0
orderNo: 0
});
hb.hover(function(){return false;},function(){return false;});
//$(hb).unbind('mouseenter mouaseleave click');
return hb;
};
发布于 2013-07-08 13:33:09
看起来发问者正在寻找专门针对RaphaelJS的unhover
和unclick
:
unhover
- http://raphaeljs.com/reference.html#Element.unhover
unclick
- http://raphaeljs.com/reference.html#Element.unclick
发布于 2013-07-05 19:08:50
.hover()
方法将处理程序绑定到元素。如果调用两次,它会将两个处理程序附加到元素。这两个处理程序都将在该操作上执行。请参考this question了解如何解绑处理程序。
编辑:应为$(selector for your element).off('mouseenter').off('mouseleave');
https://stackoverflow.com/questions/17495349
复制