Всплывание событий JavaScript
Автор:Eve Cole
Время обновления: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">
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="developer" content="Realazy" />
<title>Пузырь в JavaScript DOM</title>
<style type="text/css" media="screen">
div * {display:block; поле: 4 пикселя; отступ: 4 пикселя; граница: 1 пиксель сплошного белого цвета;}
текстовая область {ширина: 20em; высота: 2em;}
</стиль>
<тип сценария="текст/javascript">
//<![CDATA[
функция инициализации(){
var log = document.getElementsByTagName('textarea')[0];
var all = document.getElementsByTagName('div')[0].getElementsByTagName('*');
for (var i = 0, n = all.length; i <n; ++i){
all[i].onmouseover = function(e){
this.style.border = '1 пиксель, сплошной красный';
log.value = '鼠标现在进入的是: ' + this.nodeName;
};
all[i].onmouseout = function(e){
this.style.border = '1 пиксель сплошного белого цвета';
};
}
var all2 = document.getElementsByTagName('div')[1].getElementsByTagName('*');
for (var i = 0, n = all2.length; i <n; ++i){
all2[i].onmouseover = function(e){
this.style.border = '1 пиксель, сплошной красный';
if (e) //停止事件冒泡
е.stopPropagation();
еще
window.event.cancelBubble = правда;
log.value = '鼠标现在进入的是: ' + this.nodeName;
};
all2[i].onmouseout = function(e){
this.style.border = '1 пиксель сплошного белого цвета';
};
}
}
window.onload = инициализация;
//]]>
</скрипт>
</голова>
<тело>
<h1>Пузырь в JavaScript DOM</h1>
<p>Обозначение DOM:</p>
<пре><код>
UL
- ЛИ
- А
- ОХВАТЫВАТЬ
</code></pre>
<дел>
<ул>
<li><a href="#"><span>Бубблллллллле</span></a></li>
<li><a href="#"><span>Бубблллллллле</span></a></li>
</ul>
</div>
<textarea></textarea>
<p>Язык UL 的任何一个子元素,如果不停止冒泡, UL ULSPAN都定义了鼠标悬停(<code>mouseover</code>)事件, 这个事件会上升了UL, 从而从鼠标所进入的元素到UL元素都会有红色的边。</p>
<дел>
<ул>
<li><a href="#"><span>Бубблллллллле</span></a></li>
<li><a href="#"><span>Бубблллллллле</span></a></li>
</ul>
</div>
<p>如果停止冒泡,事件不会上升,我们就可以获取精确的鼠标进入元素。</p>
</тело>
</html>