日期:2014-05-16  浏览次数:20424 次

js 事件冒泡 和其它问题
js事件冒泡
<html>
<head>
<title>
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
</title>
<meta name="keywords" content="JavaScript,事件冒泡,cancelBubble,stopPropagation" />
<script type="text/javascript">

function doSomething (obj,evt) {

alert(obj.id);

var e=(evt)?evt:window.event; //判断浏览器的类型,在基于ie内核的浏览器中的使用cancelBubble

if (window.event) {

e.cancelBubble=true;

} else {

//e.preventDefault(); //在基于firefox内核的浏览器中支持做法stopPropagation

e.stopPropagation();

}

}

</script>
</head>
<body>
<div id="parent1" onClick="alert(this.id)" style="width:250px;background-color:yellow">
  <p>This is parent1 div.</p>
  <div id="child1" onClick="alert(this.id)" style="width:200px;background-color:orange">
    <p>This is child1.</p>
  </div>
  <p>This is parent1 div.</p>
</div>
<br/>
<div id="parent2" onClick="alert(this.id)" style="width:250px;background-color:cyan;">
  <p>This is parent2 div.</p>
  <div id="child2" onClick="doSomething(this,event);" style="width:200px;background-color:lightblue;">
    <p>This is child2. Will bubble.</p>
  </div>
  <p>This is parent2 div.</p>
</div>
</body>
</html>
ie 一个标签没有写正确,整个页面都显示不出来~~

js有效利用事件冒泡做1000dom元素的事件加载
遍历一个id为domid下的所有dom元素
解析一个json