js event事件的传递与冒泡处理

与Netscape相反,IE中的事件传递方向是从事情发生的对象开始,然后依次由该对象向所在的父节点传递。

复制代码 代码如下:


<div>
<table nclick="gotClick(event,'table',this)">
<tr nclick="gotClick(event,'tr',this)">
<td nclick="gotClick(event,'td',this)">
<input type="button" value="单击我"
onclick="gotClick(event,'按钮',this);">
</td>
</tr>
</table>
</div>
<div>
</div>


js文件

复制代码 代码如下:


function gotClick(event,msg,obj){
var object;
var msgs = msg+" => 被单击了!<br/>";
try{
if (event.target) {//Mozilla
object = event.target;
// alert(document.getElementById(object.id).nodeName+" Mozilla "+msg);
document.getElementById('result').innerHTML +=msgs;
// event.cancelBubble=true;//阻止传递
}
else if(event.srcElement){//IE
object = event.srcElement;
// alert(object.id+" IE "+msg);
// event.cancelBubble=true;//阻止传递
document.getElementById('result').innerHTML +=msgs;
}
}catch(e){
alert(e);
}

}


运行结果是:

按钮 => 被单击了!
td => 被单击了!
tr => 被单击了!
table => 被单击了!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpxfg.html