Javascript 当检查主分区内的其他分区时,Mouseover上的分区会丢失
我有一个Javascript 当检查主分区内的其他分区时,Mouseover上的分区会丢失,javascript,onmouseover,Javascript,Onmouseover,我有一个li,一些其他元素,如divs,输入,在这个li中,以及gridview中的所有内容 我在li上有一个onmouseover=“calcRoute();” 问题:我注意到,在将鼠标悬停在内部元素div上时,从元素div出来到父元素div会导致calcRoute()再次执行,即再次绑定谷歌地图,这会由于地图重新绑定而导致闪烁 尝试了:onmouseenter和onmouseleave,但它不支持所有浏览器 特里凡德伦 Rs 500 您可以将id附加到li元素,并将此id传递给calcR
li
,一些其他元素,如divs
,输入,在这个li
中,以及gridview中的所有内容
我在li
上有一个onmouseover=“calcRoute();”
问题
:我注意到,在将鼠标悬停在内部元素div上时,从元素div出来到父元素div
会导致calcRoute()代码>再次执行,即再次绑定谷歌地图,这会由于地图重新绑定而导致闪烁
尝试了
:onmouseenter
和onmouseleave
,但它不支持所有浏览器
特里凡德伦
Rs
500
您可以将id附加到li元素,并将此id传递给calcRoute函数
onmouseover="calcRoute(8.4572136,76.94017529999996, this.id);
然后,在这个函数中,您可以为这个li元素设置一个标志,该标志以前一直悬停
var hoveredItems = {}; // this is a global object
function calcRoute(x,y,id) {
// put this control on top so that recurring operations will be prevented from being run.
if(hoveredItems[id]) return;
else hoveredItems[id] = true;
..
}
这可能会有所帮助……您可以将id附加到li元素,并将此id传递给calcRoute函数
onmouseover="calcRoute(8.4572136,76.94017529999996, this.id);
然后,在这个函数中,您可以为这个li元素设置一个标志,该标志以前一直悬停
var hoveredItems = {}; // this is a global object
function calcRoute(x,y,id) {
// put this control on top so that recurring operations will be prevented from being run.
if(hoveredItems[id]) return;
else hoveredItems[id] = true;
..
}
也许这会有所帮助……如果您希望此事件发生在某些元素上,则应仅将onmouseover事件放在该元素上。但是我认为如果你把事件放在父元素(li)上,它里面的每个元素都会触发calcRoute事件。你想拍摄哪个事件?@Sonhja我想在父元素li上拍摄calcRoute事件,实际上它不会在每个元素悬停时执行,每次鼠标从子元素返回到父元素li时它都会执行。你可以尝试使用鼠标坐标确定鼠标是否真的在元素上(从事件中获取)以及元素的位置和大小。如果希望此事件发生在某些元素上,则应仅将onmouseover事件放在该元素上。但是我认为如果你把事件放在父元素(li)上,它里面的每个元素都会触发calcRoute事件。你想拍摄哪个事件?@Sonhja我想在父元素li上拍摄calcRoute事件,实际上它不会在每个元素悬停时执行,每次鼠标从子元素返回到父元素li时它都会执行。你可以尝试使用鼠标坐标确定鼠标是否真的在元素上(从事件中获取)元素的位置和大小。这是我喜欢的方案B,有没有HTML,CSS的方法来实现这一点。这是我喜欢的方案B,有没有HTML,CSS的方法来实现这一点。