悬停事件未定义为延迟尝试

时间:2019-02-14 11:56:23

标签: javascript jquery mouseevent

要求是类似Wikipedia的工具提示,您:

  1. 将鼠标悬停在[href]上显示工具提示
  2. 退出[href],但不进入工具提示,请关闭工具提示
  3. 退出工具提示,但不进入a [href]关闭工具提示
  4. 所有内容都会稍有延迟(假设您移出,然后移回工具提示,什么也没有发生)

我在other thread

的帮助下使用了以下代码
//Helper to delay the event
$.fn.hoverDelay = function(handlerIn, handlerOut, delay) {
    if(delay === undefined) delay = 400;
    var timer;
    this.on("hover",function(eventObject) {
        clearTimeout(timer);
        handlerIn.apply(this,eventObject);
    }, function(eventObject) {
        timer = setTimeout(handlerOut.bind(this, eventObject), delay);
    });
};

 //Attach to the task number 2, has an undefined event here
 $("a[href]").hoverDelay(null,function(event){
      //If the mouse hover NOT the tooltip, close it
      if(!$(event.relatedTarget).is("#tooltip"))
                     $("#tooltip").hide();
 },200)

但是然后出现未定义的event错误。没有它,我将无法获得relatedTarget。为什么会这样?

0 个答案:

没有答案