让我解释一下这种情况:
我有一个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;
现在我想要的是,如果鼠标输入这个Anchor标签,它会转到Javascript showReleaseVersionsPopUp()
并显示隐藏的DIV,但是在此Anchor标签上的mouseout事件中,我不希望它转到Javascript hideReleaseVersionsPopUp()
并隐藏DIV。我更希望在此Anchor标记的Parent hideReleaseVersionsPopUp()
标记上的mouseout事件上调用Javascript <TD>
。
我相信首先要执行此操作我需要在Anchor标记上设置mouseout事件处理程序并阻止事件冒泡,然后在其父<TD>
标记上设置事件处理程序。
但是,在此重申一下,我无法访问JSP代码和<TABLE>
代码,所以我所能做的就是通过上面提到的Java代码。
任何建议都表示赞赏。
答案 0 :(得分:0)
您可以使用myElement.parentNode
获取myElement
的父元素。然后,您可以使用您想要的父元素执行任何操作。 DOM操作,事件监听器,您可以命名它。
所以,不要在Anchor上添加mouseout
事件监听器,而是在Anchor的父级上添加。{/ p>
答案 1 :(得分: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 );
}