evento javascript borbulhando
Autor:Eve Cole
Data da Última Atualização:2009-06-11 16:22:17
HTML para você
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml " lang="zh" xml:lang="zh">
<cabeça>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="desenvolvedor" content="Realazy" />
<title>Bolha em JavaScript DOM</title>
<style type="text/css" media="screen">
div * {exibição:bloco; margem:4px; preenchimento: 4px; borda:1px branco sólido;}
área de texto {largura: 20em; altura:2em;}
</estilo>
<script type="texto/javascript">
//<![CDATA[
função inicialização(){
var log = document.getElementsByTagName('textarea')[0];
var tudo = document.getElementsByTagName('div')[0].getElementsByTagName('*');
for (var i = 0, n = all.length; i < n; ++i){
tudo[i].onmouseover = função(e){
this.style.border = '1px vermelho sólido';
log.value = '鼠标现在进入的是: ' + this.nodeName;
};
tudo[i].onmouseout = função(e){
this.style.border = '1px branco sólido';
};
}
var all2 = document.getElementsByTagName('div')[1].getElementsByTagName('*');
for (var i = 0, n = all2.length; i < n; ++i){
all2[i].onmouseover = função(e){
this.style.border = '1px vermelho sólido';
if (e) //停止事件冒泡
e.stopPropagation();
outro
window.event.cancelBubble=true;
log.value = '鼠标现在进入的是: ' + this.nodeName;
};
all2[i].onmouseout = função(e){
this.style.border = '1px branco sólido';
};
}
}
janela.onload=init;
//]]>
</script>
</head>
<corpo>
<h1>Bolha em JavaScript DOM</h1>
<p>DOM树的结构是:</p>
<pré><código>
UL
- LI
- Um
- VÃO
</code></pre>
<div>
<ul>
<li><a href="#"><span>Bubblllllllllllllle</span></a></li>
<li><a href="#"><span>Bubblllllllllllllle</span></a></li>
</ul>
</div>
<textarea></textarea>
<p>鼠标进入UL的任何一个子元素,如果不停止冒泡,我们从UL到SPAN都定义了鼠标悬停(<code>mouseover</code>)事件,这个事件会上升了UL,从而从鼠标所进入的元素到UL元素都会有红色的边。</p>
<div>
<ul>
<li><a href="#"><span>Bubblllllllllllllle</span></a></li>
<li><a href="#"><span>Bubblllllllllllllle</span></a></li>
</ul>
</div>
<p>如果停止冒泡,事件不会上升,我们就可以获取精确的鼠标进入元素。</p>
</body>
</html>