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

子div在父div的mouseout上消失

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

    <div id='divItemHolder'onMouseout='HideEditDiv()'  onMouseover='ShowEditDiv()><div id='itemName'></div><div id='divEdit'></div></div>
    

    在我的剧本里

     function ShowEditDiv() {
      $("#itemName").removeClass().html("<a href=\"javascript:Edit()">Edit</a>").addClass("divEdit");
       }
    function HideEditDiv() {
    $("#itemName").html("&nbsp;").addClass('divEdit');
    
     }
    

    我的要求是在用户将光标放在整个主div(divItemHolder)上时显示编辑链接,并在用户移出时将其隐藏。这很好。它显示编辑链接。但是当我把光标放在编辑链接上时,它消失了。甚至我的点击功能也没有启动!

    1 回复  |  直到 16 年前
        1
  •  1
  •   Eric    16 年前

    "

    function ShowEditDiv()
    {
        $("#itemName").removeClass().html("<a href=\"javascript:Edit()\">Edit</a>").addClass("divEdit");
    }
    function HideEditDiv()
    {
        $("#itemName").empty().addClass('divEdit');
    }
    

    这里有一个更好的方法:

    $(document).ready(function()
    {
        $(".parent")
            .mouseenter(function()
            {
                $(this).children(".edit").show();
            })
            .mouseleave(function()
            {
                $(this).children(".edit").hide();
            })
            .children(".edit").hide();
    }
    

    <div class="parent">
        ...
        <div class="edit">
            <a href="javascript:Edit()">Edit</a>
        </div>
    </div>
    <div class="parent">
        ...
        <div class="edit">
            <a href="javascript:Edit()">Edit</a>
        </div>
    </div>
    ...