有一個菜單項,它顯示一個模態div。希望創建的div自動關閉,無論何時用戶將其光標移動到出,但是當最初創建模態div時,光標是,所以光標首先需要移動到其中。在javascript onmouseout中,如何使光標在外部區塊工作?
當我登錄到控制檯onmouseout
觸發
被解僱,其中兩個e.target
和e.currentTarget
是DIV本身,事件觸發兩次,首先在進入股利,然後離開股利。
首先,這對我沒有意義 - 爲什麼會發生?第二,這裏使用的是標準邏輯嗎?
所有HTML生成 這裏是一些代碼,創建模式和連接的
mouseout
觸發
// code creates the modal div from the menu get: function(e) { util.popup(E.h4("Maintenance Menu:"), E.ul( E.a('#', maintenance.users, 'Users (Logins)'), E.a('#', maintenance.employees, 'Employees'), E.a('#', maintenance.skills, 'Skill Types'), E.a('#', maintenance.etps, 'Expense Types'), E.a('#', maintenance.menus, 'Menu Items')), E.div( E.button(maintenance.done, "s.width:90%", "Finished"))); util.popup_dom().addEventListener('mouseout',util.popout()); },
popup()
創建模式,並把它放在BODY,popout()
刪除它。
溶液(按第一個答案 - 謝謝!)使用mouseover
設置mouseout
:
: util.popup(...); var outSet = false; // whether mouseout trigger has been set util.popup_dom().addEventListener('mouseover',function(e) { if(!outSet) { setTimeout(function() { util.popup_dom().addEventListener('mouseout',function(e){util.popout();}), 200); outSet = true; } });
分享HTML,並告訴我們你希望它在'mouseout'之前和之後。 – Shef
@Shef - 這裏是代碼片段 - 不知道這是你在 –