当前位置:Gxlcms > html代码 > onmouseoveronmouseout事件问题_html/css_WEB-ITnose

onmouseoveronmouseout事件问题_html/css_WEB-ITnose

时间:2021-07-01 10:21:17 帮助过:7人阅读

onmouseover

光标移到DIV1上显示DIV2,移开时隐藏。当然,当光标在DIV2上时该DIV也要显示。

问题是,DIV2上有个下拉框,当点击下拉框,选择里面的选项时,DIV2会消失。

如何拯救啊?


回复讨论(解决方案)

补充DEMO代码如下:

    
鼠标移到这里显示另一个DIV

DIV2在DIV1外面啊,当然会隐藏了,你应该把DIV2覆盖在DIV1上面。

DIV2在DIV1外面啊,当然会隐藏了,你应该把DIV2覆盖在DIV1上面。

我觉得这跟DIV1关系不大,DIV1只是为了能触发显示DIV2的

关键在点击DIV2里的下拉框后,好像就被认为是光标移出了DIV2,这样就触发了DIV2里的onmouseout,所以就隐藏了。

你有没有发现按照你的div排版来做,你的第二格div是显示在第一个div下面的。

你有没有发现按照你的div排版来做,你的第二格div是显示在第一个div下面的。

是的,显示在哪里不要紧,这只是个DEMO,为了说明问题。你把光标移到DIV2上DIV2还是显示的吧,但点击DIV2里面的下拉框就隐藏了。

    
鼠标移到这里显示另一个DIV

鼠标在option上的mouseout 会触发父容器的mouseout事件。

    
鼠标移到这里显示另一个DIV

鼠标在option上的mouseout 会触发父容器的mouseout事件。

是啊,如何解决?

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

无标题文档    
鼠标移到这里显示另一个DIV


解决方法是给HideDiv(e)加上事件参数,判断事件源的tagName

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。

你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。
我只是把div2放在了div1里面


你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。
我只是把div2放在了div1里面

可能是浏览器兼容性问题,我用的是IE8把DIV2放下面没有问题

问题解决了,如xiaofanku说的解决方案,谢谢

人气教程排行