2012-02-28 150 views
0

如果我鼠標懸停和鼠標.activate_tooltip一次,它繼續工作。但第一個mouseover不會觸發任何操作。任何人知道是什麼原因造成的jQuery委託鼠標懸停鼠標事件沒有觸發第一次鼠標懸停

$('.task_box').delegate('.activate_tooltip', 'mouseover mouseout', function(event) { 

      if (event.type == 'mouseover') { 

        clearTimeout(timeOut); 
        $(this).prev().find('.tooltip_2').show(); 

      } else if (event.type == "mouseout") { 

       timeOut = setTimeout(hideToolTip, 0); 

      }  

}); 



<div class="edit_task_icon_div" style="position:relative;"> 

    <div style="position:relative"> 
     <div class="tooltip_2" style="position: absolute; top: 20px; left: -6px;"> 
      <div class="tooltip_2_text">Edit</div> 
     </div> 
    </div> 

    <a href="#" id="edit_{{task.id}}" class="pencil_button activate_tooltip"></a> 
</div> 

回答

0

想通了。 clearTimeout由於某種原因導致該問題。它在我使用.hover事件時起作用,但是在代理中評論它似乎解決了這個問題。不知道爲什麼!

0

更改此event.type="mouseout"event.type=='mouseout'

使用mouseentermouseleave,而不是mouseovermouseout

+0

哎呀,忽略了。儘管如此,仍然沒有解決問題。 – ThinkingInBits 2012-02-28 06:40:54

+0

@ThinkingInBits:使用mouseenter和mouseleave,而不是mouseover和mouseout – 2012-02-28 06:44:47

+0

與mouseenter和mouseleave相同的問題 – ThinkingInBits 2012-02-28 06:44:55