2013-11-21 89 views
1

喜不烧我有以下的HTML布局鼠标悬停,mouseOut事件在IE

<div id="stripe_container" style="top: 0px; border: 1px solid rgb(235, 116, 41); 
background: none repeat scroll 0% 0% rgb(243, 232, 151); position: fixed; height: 30px; 
width: 100%; left: 0px; z-index: 99999999; font-size: 14px; font-family: Verdana; 
cursor: pointer;" class=""> 
    <div id="stripe_rollover" style="height: 30px; background-color: transparent; z-index: 
    99999999; left: 0px; width: 97%; position: fixed;"></div> 
    <div id="stripe_text_left" style="margin-top: 5px; margin-left: 15px; color: black; 
    float: left;">Text Test</div> 
    <div id="stripe_text_right" style="top: 4px; right: 40px; cursor: pointer; position: 
    absolute; float: right;">Mouseover</div> 

下面

是我的js代码

<script> 
    var x; 
stripe_rollover.onmouseover=function(){ 
    x=document.createElement('div'); 
    x.style.height='30px'; 
    x.style.width='40px'; 
    x.style.backgroundColor='#000000'; 
    var stripe_container=document.getElementById('stripe_container'); 
    stripe_container.parentNode.insertBefore(x,stripe_container.nextSibling); 

}

stripe_rollover.onmouseout=function(){ 
    x.parentNode.removeChild(x); 
} 

Iam面临IE浏览器中的一个问题。 IE 8,9甚至10。当我鼠标悬停剥离div,mouseover事件被解雇,但当光标移动鼠标悬停文本事件不会被解雇。

+0

u能为同一创建的jsfiddle? –

+0

@Murali http://jsfiddle.net/xxY6b/ – nyfer

回答

0

这将解决你的问题(Example

function mouseOver_handler(){ 
    // ... 
} 

function mouseOut_handler(){ 
    // ... 
} 

stripe_rollover.onmouseover = mouseOver_handler; 
stripe_text_left.onmouseover = mouseOver_handler 
stripe_text_right.onmouseover = mouseOver_handler; 

stripe_rollover.onmouseout = mouseOut_handler; 
stripe_text_left.onmouseout = mouseOut_handler 
stripe_text_right.onmouseout = mouseOut_handler; 
+0

但stripe_rollover div覆盖stripe_text_left和stripe_text_right 所以y shud添加一个处理程序给他们。它在FF中如何工作,chrome – nyfer

+0

所有浏览器都不能以相同的方式工作。 –