2010-09-13 88 views
1

我有DIVmouseout觀察員。onmouseout事件控制

這個DIV也有子元素。如果鼠標指針輸入任何子元素,mouseout事件將被觸發。

如何防止此行爲?

回答

1

這是預期的行爲。 但是,您可以通過給這些子元素一個onmouseout事件並返回false來阻止它。 在事件處理程序中返回false將停止事件傳播到父元素。

+0

對不起!但是這不會防止父DIV發生鼠標事件。 – user160820 2010-09-13 09:57:45

+0

是的,我上次重讀你的問題並誤解了它。 – Kissaki 2010-09-17 09:42:33

+0

如果移動到子div以及移出子div或父div時,mouseout的確會觸發。由於child-div是父div的頂部的塊,所以在移動時它會離開父div,所以這是非常期待的。爲了解決這個問題,唯一想到的解決方案就是創建一個函數,該函數檢查鼠標現在的位置。 – Kissaki 2010-09-17 09:48:38

0

你可能想檢查一個JS庫。 JQuerys的mouseleave函數/事件似乎正是你要找的。 API頁面還指出mouseleave事件是IE專有的,但JQuery將其模擬爲其他瀏覽器。如果你不想使用JQuery,你可能想要檢查它的源代碼。 api.jquery.com/mouseleave