如果我得到你的問題,你不想隱藏div2,如果離開div1時,鼠標立即進入div2或保持在div2中。
然後,你可以這樣做:
// returns true if the event is over the jQuery object o
function eventIsOver(event, o) {
if ((!o) || o==null) return false;
var pos = o.offset();
var ex = event.pageX;
var ey = event.pageY;
return (
ex>=pos.left
&& ex<=pos.left+o.width()
&& ey>=pos.top
&& ey<pos.top+o.height()
);
};
$("#div1").mouseleave(function(e){
if (eventIsOver(e, $("#div2")) return;
$("#div2").hide();
});
請注意,根據您的具體情況,你可能需要做不同的事情。例如,如果兩個div之間可能存在差距(那麼您必須處理延遲),或者如果其中一個比另一個更重要,那麼您沒有精確。
不知道你要在這裏實現什麼,ü可以更具體 – dreamweiver
嘗試檢查#div2'是否'是'事件的relatedTarget':http://api.jquery.com/event.relatedTarget/ – CBroe