如何删除悬停并单击

时间:2013-07-05 19:00:55

标签: javascript jquery raphael

我正在尝试删除悬停并单击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;
};

2 个答案:

答案 0 :(得分:0)

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

修改:应为$(selector for your element).off('mouseenter').off('mouseleave');

答案 1 :(得分:0)

看起来提问者专门为Rap​​haelJS寻找unhoverunclick

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

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