2011-10-24 26 views
1

我有兩個位於彼此相鄰位置頂部的div。結合兩個Dom元素作爲一個問候鼠標事件

enter image description here

我想對了mouseenter着想,鼠標離開,他們被稱爲「一個」處理。他們排成一列(或重疊)。

這可能嗎?

我試過做一個mouseleave/mouseenter組合,但我不能保證哪一個會首先觸發,從第一個元素或輸入到它的好友留下。

謝謝!

+1

你不能只窩在小格並把它與外界絕對定位?那麼你可以申請進入/離開包含div。 – canon

+1

把一個div放在兩邊並使用它。 – RobG

+0

將嘗試第一個評論。 :D – bobber205

回答

1

onmouseleave有一個事件屬性{{toElement}}來告訴你它輸入了什麼元素。

你只需要檢查,看看它是不是其他元素

$(function(){ 

    var box1 = $("#box1"); 
    var box2 = $("#box2"); 

    box1.add(box2).mouseenter(function(){ 
     box1.css("background-color","#CFC"); 
     box2.css("background-color","#DED"); 
    }).mouseleave(function(e){ 
     var domElem = e.toElement; 
     if(domElem==box1[0] || domElem==box2[0]) return; 
     box1.add(box2).css("background-color","#CCC"); 
    }); 


}); 

jsFiddle