代码之家  ›  专栏  ›  技术社区  ›  Shyju

在子元素的mouseover上调用父DIV的mouse out函数

  •  0
  • Shyju  · 技术社区  · 16 年前

    我的网页中有下面的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');
    }
    

    我的要求是当用户将鼠标放在主分区上时显示一个编辑链接。现在它可以工作了。但是当我将鼠标放在保存编辑图像/链接的分区上时,它就消失了。我发现当我将鼠标放在edit div上时,会调用parent div的mouseout函数。有人能帮我解决这个问题吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   rahul    16 年前

    使用

    stopPropagation 在子元素函数中。

    停止事件冒泡到 父元素,阻止任何父元素 处理程序收到 事件。

        2
  •  5
  •   Shyju    16 年前

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

    有关此链接中的详细信息

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

    推荐文章