Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当检查主分区内的其他分区时,Mouseover上的分区会丢失_Javascript_Onmouseover - Fatal编程技术网

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的方法来实现这一点。