0

我的页面中有以下 HTML

    <div id='divContainer1' onmouseover=ShowEditDiv(1) onmouseout=HideEditDiv(1)  class='divClcContainer'>
        <div id='divSlNo1'>1</div>
        <div id='divItem1'>This is content</div>
        <div id='divEditLink1'></div>
    </div>  
    <div id='divContainer2' onmouseover=ShowEditDiv(2) onmouseout=HideEditDiv(2)  class='divClcContainer'>
        <div id='divSlNo2'>2</div>
        <div id='divItem2'>This is content2</div>
        <div id='divEditLink2'></div>
    </div>  

在我的 javascript 中

function ShowEditDiv(divId)
{
  $("#divEditLink" + divId).html("<a href=\"javascript:Edit(divId)\"><img  src='edit_icon.gif' alt='Edit' title='Edit' /></a>").addClass("divEdit");
}
function HideEditDiv(divId) 
{  
  $("#divEdit" + divId).empty().addClass('divEdit');
}

我的要求是当用户将鼠标放在主 div 上时显示编辑链接。现在它工作正常。但是当我将鼠标放在保存编辑图像/链接的 div 上时,它正在消失。我发现当我将鼠标放在编辑 div 上时,父 div 的 mouseout 函数被调用。任何人都可以帮我解决这个问题吗?

4

2 回答 2

5

此错误的解决方案是使用 mouseenter 和 mouseleave 事件而不是 mouseover 和 mouseout。

有关此内容的更多信息,请参阅此链接

http://jquery-howto.blogspot.com/2009/04/problems-with-jquery-mouseover-mouseout.html

于 2009-10-08T05:58:13.897 回答
1

采用

子元素函数中的stopPropagation

停止将事件冒泡到父元素,防止任何父处理程序收到事件通知。

于 2009-10-08T05:24:52.100 回答