0

このシナリオを説明しましょう。ソース コードを利用できないテーブルを持つ JSP があります。ただし、テーブルの<TD>タグ内には、Java コードを使用してアンカー タグを動的に挿入できます。

String html =
 "<a href=\"javascript:showReleaseVersionsPopUp('" + currentRow.getComponentSeq() + "'); \" class=\"windowletIcon\">" +
                "<img src=\"./images/information-button.png\" width='25' height='20' id='img_"+currentRow.getComponentSeq()+"' " +
                        />" +
 "</a>";
return html;

今私が欲しいのは、マウスがこのアンカータグを入力すると、 Javascript に移動して非表示の DIV を表示showReleaseVersionsPopUp()することですが、このアンカータグのマウスアウトイベントでは、Javascript に移動して DIV を非表示にしたくありませんhideReleaseVersionsPopUp()。このアンカータグhideReleaseVersionsPopUp()の親タグのマウスアウトイベントでJavascriptを呼び出す必要があります。<TD>

最初にこれを行うには、アンカータグにマウスアウトイベントハンドラーを設定し、イベントのバブリングを停止してから、親<TD>タグにイベントハンドラーを設定する必要があると思います。

ただし、ここで繰り返しますが、私は JSP コードとコードにアクセスできない<TABLE>ため、上記の Java コードを使用することしかできません。

任意の提案をいただければ幸いです。

4

2 に答える 2

0

myElement.parentNodeの親要素を取得するために使用できますmyElement。その後、その親要素を使用して、必要な操作を実行できます。DOM 操作、イベント リスナー、名前を付けます。

そのため、イベント リスナーをアンカーに追加するのではなくmouseout、アンカーの親に追加してください。

于 2012-11-23T08:20:31.843 に答える
0

親ノードの onmouseout イベントにイベント ハンドラーをアタッチできます。

var el = document.getElementById('idOfAnchor').parentNode;

if (el.addEventListener) {

  el.addEventListener('mouseout', hideReleaseVersionsPopUp ); 

} else if (el.attachEvent)  { // for IE8 and previous versions

  el.attachEvent('mouseout', hideReleaseVersionsPopUp );

}
于 2012-11-23T08:33:26.613 に答える