当鼠标越过子对象时,JavaScript保持鼠标移动的焦点
我正在制作一个日历应用程序,我希望有一个横贯整件事的条,每当你移动鼠标时,条会随着鼠标移动,告诉你条代表什么时间。但是,当鼠标悬停在日历上的事件上(该事件是动态创建的当鼠标越过子对象时,JavaScript保持鼠标移动的焦点,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在制作一个日历应用程序,我希望有一个横贯整件事的条,每当你移动鼠标时,条会随着鼠标移动,告诉你条代表什么时间。但是,当鼠标悬停在日历上的事件上(该事件是动态创建的div)时,当鼠标进入该日历事件的子div时,该条会卡在其所在的任何位置 我将一周中的七天作为单独的div,并使用类日历部分来调用所有这些jQuery函数: $(".calendar-part").mousemove(function(e){ var y = e.c
div
)时,当鼠标进入该日历事件的子div
时,该条会卡在其所在的任何位置
我将一周中的七天作为单独的div
,并使用类日历部分
来调用所有这些jQuery函数:
$(".calendar-part").mousemove(function(e){
var y = e.clientY;
var x = e.clientX;
//positioning and formatting, unimportant
var timeVal = (y-262)/500;
timeVal *= 900;
timeVal += 280;
var hour = Math.floor(timeVal/60);
var min = Math.round(timeVal%60,2);
var timeEnd = "AM";
if(hour>=12)
timeEnd = "PM";
if(hour>12)
hour-=12;
if(min<10)
min = "0"+min;
var timeCalc = hour+":"+min+" "+timeEnd;
document.getElementById("cbar").innerHTML = timeCalc;
document.getElementById("cbar").style.top = y - 262;
document.getElementById("cbar").style.textIndent = x - 950;
});
$(“.calendar part”).mousemove(函数(e){
变量y=e.clientY;
var x=e.clientX;
//定位和格式化,不重要
var-timeVal=(y-262)/500;
timeVal*=900;
timeVal+=280;
var小时=数学楼层(timeVal/60);
var min=数学轮(timeVal%60,2);
var timeEnd=“AM”;
如果(小时>=12)
timeEnd=“PM”;
如果(小时>12)
小时-=12;
如果(min证明我所需要做的就是为这个jQuery函数添加选择器,使其成为$(“.calendar part,.event”)
而不仅仅是日历部分
。工作完美无瑕。任何忘记像我一样思考这个问题的人,希望这会有所帮助!结果是,我所需要做的就是添加到这个jQuery函数的选择器中,使其成为$(“.calendar part,.event”)
而不仅仅是日历部分
。工作完美无瑕。任何忘记像我一样思考这个问题的人,希望这会有所帮助!你可以尝试css指针事件:无
使不需要的div对鼠标透明。如果你想象不需要任何鼠标交互,这可能是最简单、最有效的方法与div的对话
如果您确实计划使用鼠标与子元素交互,那么显然这是行不通的。不要使用clientX
和clientY
,而是尝试pageX
和pageY
相对于。日历部分的偏移量,如。您可以尝试css指针事件:无来生成不需要的div t对鼠标透明。如果您想象不需要任何鼠标与div交互,这可能是最简单、最有效的方法
如果您确实计划使用鼠标与子元素进行交互,那么显然这是行不通的。请不要使用clientX
和clientY
,而是尝试使用pageX
和pageY
相对于。日历部分的偏移量,如图所示