0

我正在尝试删除悬停并单击 svg 元素(Raphael)。刚刚写了一个示例(没有验证语法错误,请原谅我),每当执行 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;
};
4

2 回答 2

0

.hover()方法将处理程序绑定到元素。如果您调用它两次,它会将两个处理程序附加到元素。两个处理程序都将在该操作上执行。有关如何取消绑定处理程序的信息,请参阅此问题。

编辑:应该是$(selector for your element).off('mouseenter').off('mouseleave');

于 2013-07-05T19:08:49.570 回答
0

看起来提问者正在寻找unhoverunclick专门针对 RaphaelJS:

unhover- http://raphaeljs.com/reference.html#Element.unhover

unclick- http://raphaeljs.com/reference.html#Element.unclick

于 2013-07-08T13:33:09.203 回答