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の上にマウスを置くと、消えてしまいます。edit divの上にマウスを置くと、親divのmouseout関数が呼び出されることがわかりました。誰かが私がこれを解決するのを手伝ってくれる?

4

2 に答える 2

5

このエラーの解決策は、mouseover と mouseout の代わりに mouseenter と mouseleave イベントを使用することです。

このリンクのこの現在の詳細については、

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 に答える