【问题标题】:Child div's disappearing on mouseout of Parent div子 div 在父 div 的鼠标移出时消失
【发布时间】:2009-10-09 01:08:29
【问题描述】:

我有一些这样的 HTML 内容

<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) 上时显示编辑链接,并在他移出时隐藏它。这很好用。它显示了编辑链接。但是当我将光标放在编辑链接上时,它消失了。连我的点击功能都没有触发!

谁能帮我解决这个问题?

【问题讨论】:

    标签: javascript jquery html mouseover


    【解决方案1】:

    你没有逃脱你的",你忘了结束另一个。试试这个:

    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();
    }
    

    像 HTML 一样:

    <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>
    ...
    

    【讨论】:

    • 你在 hideEditDiv 函数中错过了一个"
    • 谢谢。那是Shyju犯的另一个错误。
    • 但这不是问题。我知道当我们进入(鼠标悬停) DIV 中的任何元素时,父鼠标悬停事件被调用
    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2012-10-12
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多