在我的项目中使用 awsome FullCalendar,我遇到了一个问题。
当用户悬停一个事件时,我使用下面的代码显示一个包含菜单的 DIV。
这很好用(为事件查找 XY 的问题很烦人)
我的问题是,当用户将鼠标移到 DIV(菜单)上时,事件会触发一个 eventMouseOut(应该如此)-但这会关闭我的 DIV。
在删除菜单之前如何检查鼠标是否在菜单内?
eventMouseover: function(event, jsEvent, view){
var eventid = event.id;
var layer = "<div id='events-layer' style='position:absolute; top:"+ jsEvent.pageY +"px; left:"+ jsEvent.pageX +"px; text-align:left; z-index:9999;background-color:#ffffff;padding-right:5px;cursor:pointer;width:100px;color:#000000;'><ul style='list-style-type: none;margin-left:0px;padding:0px;overflow:hidden;' onclick=''><li onClick='editEvent("+ eventid +");'><a><img border='0' style='' src='/images/icons/wrench.png'></a> <?php echo _("Rediger vagt")?></li><li onClick='showEventMembers("+ eventid +");'><a><img border='0' style='' src='/images/icons/users.png'></a> <?php echo _("Vis tilmeldte")?></li><li onClick='emailEventMembers("+ eventid +");'><a><img border='0' style='' src='/images/icons/email.png'></a> <?php echo _("Skriv mail")?></li><li onClick='printShiftplan("+ eventid +");'><a><img border='0' style='' src='/images/icons/printer.png'></a> <?php echo _("Udskriv vagtplan")?></li><li onClick='deleteEvent("+ eventid +");'><a><img border='0' style='' src='/images/icons/bin_closed.png' ></a> <?php echo _("Slet vagt")?></li></ul></div>";
$("body").append(layer);
console.log(jsEvent);
},
eventMouseout: function(calEvent, domEvent) {
$("#events-layer").remove();
},
我为丑陋的层(菜单)感到抱歉——这不是最优雅的解决方案,但它现在有效。
总结一下这个问题:在 eventMouseout 中删除之前,如何检查用户是否真的在导航菜单?