événement javascript bouillonnant
Auteur:Eve Cole
Date de mise à jour:2009-06-11 16:22:17
HTML
<!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">
<tête>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="developer" content="Realazy" />
<title>Bulle dans le DOM JavaScript</title>
<style type="text/css" media="écran">
div * {affichage: bloc ; marge : 4 px ; remplissage : 4 px ; bordure : 1px blanc uni ;}
zone de texte {largeur : 20 em ; hauteur : 2em ;}
</style>
<script type="text/javascript">
//<![CDONNEES[
fonction init(){
var log = document.getElementsByTagName('textarea')[0];
var all = document.getElementsByTagName('div')[0].getElementsByTagName('*');
pour (var i = 0, n = all.length; i < n; ++i){
all[i].onmouseover = fonction(e){
this.style.border = '1px rouge uni';
log.value = '鼠标现在进入的是: ' + this.nodeName;
} ;
all[i].onmouseout = fonction(e){
this.style.border = '1px blanc uni';
} ;
}
var all2 = document.getElementsByTagName('div')[1].getElementsByTagName('*');
pour (var i = 0, n = all2.length; i < n; ++i){
all2[i].onmouseover = fonction(e){
this.style.border = '1px rouge uni';
si (e) //停止事件冒泡
e.stopPropagation();
autre
window.event.cancelBubble = true;
log.value = '鼠标现在进入的是: ' + this.nodeName;
} ;
all2[i].onmouseout = fonction(e){
this.style.border = '1px blanc uni';
} ;
}
}
window.onload = init;
//]]>
</script>
</tête>
<corps>
<h1>Bulle dans le DOM JavaScript</h1>
<p>DOM树的结构是:</p>
<pré><code>
UL
-LI
- UN
- PORTÉE
</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>survol de la souris</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>
</corps>
</html>