当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js event事件的传递与冒泡处理

Javascript
javascript 函数介绍
超酷的鼠标拖拽翻页(分页)效果实现javascript代码
关于Javascript中的事件--Event对象
js+css图片自动等比例缩小且垂直居中
输入法下keyup失效的解决方案
关于初次学习Ajax的一些心得
可以不被浏览器拦截的弹出窗口JS代码
网页设计常用的Javascript特效代码
XMLHTTPRequest的属性和方法
微软、Mozilla舌战新版JavaScript发展
网页制作中常用的几段小Javascript代码
Ajax是建立Web应用的一条新途径
AJAX学习:理解JavaScript函数
javascript下的正则表达式基本书写
学习 javascript 注意的4个问题
javascript正则表达式的常用方法总结
初学者全面接触学习jquery(译文)
用Ajax和Web2.0扩展SOA
使用 jQuery 简化 Ajax 开发
关于clientHeight、offsetHeight、scrollHeight

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 304 ::
收藏到网摘: n/a

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

<div>
<table nclick="gotClick(event,'table',this)" id="table">
<tr nclick="gotClick(event,'tr',this)" id="tr">
<td nclick="gotClick(event,'td',this)" id="td">
<input type="button" name="button" value="单击我"
onclick="gotClick(event,'按钮',this);" id="button">
</td>
</tr>
</table>
</div>
<div id='result'>
</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 => 被单击了!