求救,关于事件冒泡的疑惑?

fanrongboy 2003-08-03 11:14:41
/////////////////////////////////////////////////////////////////////

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>事件冒泡测试</title>
</head>

<body>
<table id="container" border="1" cellpadding="0" cellspacing="0" width="400" height="41">
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<script language="javascript">
container.onmouseover=MouseOver;
function MouseOver()
{
var overobj=window.event.srcElement;
var overtag=overobj.tagName;
if(overtag=="TR")
alert("tr 触发"); //为什么TR不会被触发???
if(overtag=="TD")
alert("td 触发");
}
</script>
</body>

</html>

///////////////////////////////////////////////////////////
TD的事件被触发后,为什么不冒泡到TR元素?要触发TR元素,该如何写(要
用脚本封装,不要用HTML语言内的<tr onclick=fun1()><td/></tr>这种样式)?
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
awaysrain 2003-08-04
  • 打赏
  • 举报
回复
parentElement
overobj.parentElement.tagName

=================================================================
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>事件冒泡测试</title>
</head>

<body>
<table id="container" border="1" cellpadding="0" cellspacing="0" width="400" height="41">
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<script language="javascript">
container.onmouseover=MouseOver;
function MouseOver()
{
var overobj=window.event.srcElement;
var overtag=overobj.tagName;
if(overobj.parentElement.tagName=="TR")
alert("tr 触发"); //为什么TR不会被触发???
if(overtag=="TD")
alert("td 触发");
}
</script>
</body>

</html>
kingdomzhf 2003-08-03
  • 打赏
  • 举报
回复
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>事件冒泡测试</title>
</head>

<body>
<table id="container" border="1" cellpadding="0" cellspacing="0" width="400" height="41">
<tr id='tre' onmouseover="tre()">
<td id='tde' onmouseover="tde()"> </td>
<td onmouseover="tde()"> </td>
</tr>
</table>
<script language="javascript">
//container.onmouseover=MouseOver;
function MouseOver()
{
var overobj=window.event.srcElement;
var overtag=overobj.tagName;
if(overtag=="TR")
alert("tr 触发"); //为什么TR不会被触发???
if(overtag=="TD")
{
// alert("td 触发");
event.returnValue=false;
}
}
function tre()
{
alert('tr')
}
function tde()
{
alert('td');
}
</script>
</body>

</html>
你绑定在TABLE上他怎么冒泡
cloudchen 2003-08-03
  • 打赏
  • 举报
回复
似乎是这样的,真正的容器是td,只有td是包含内容的,tr只是表示td的显示方式或者排列方式,其实并不存在。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧