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

Javascript
getYear()函数问题(javascript教程)
一些比较常见的Javascript框架
JavaScript事件参考手册
javascript时间对象的练习
prototype,executing,context,closure
javascript实现网页跳转的方法
JavaScript的事件:onLoad
JavaScript操作符以及操作符优先级
Javascript操作符应用详细讲解
JavaScript语句
JavaScript 核心对象
Javascript文档及其关联对象
Javascript表单应用的对象
JavaScript初学困境
Javascript触发A标记的点击事件
JavaScript的setAttribute
学习JavaScript语言的思想前提
美化网页表单的提交和重置按钮
一篇简单学习Javascript的学习笔记
仿Apple滑动条产品展示效果

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 348 ::
收藏到网摘: 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 => 被单击了!