DHTML对象模型 (三)

原创 2004年07月27日 21:22:00

禁止事件:
所有的事件都将向它们的父级元素冒泡,而且除非冒泡过程中事件被禁止了,否则事件将会被递归地沿着层次结构的路径最后上浮到文档对象(document object)。要禁止一个事件,你必须在事件句柄中把window.event.cancelBubble属性的值设为“true”。注意一点,除非事件被禁止了,否则,在沿着层次结构冒泡的过程中,它将会被所有注册了这个事件句柄的父级元素处理,即使它已经在子级元素中被处理过了。

禁止事件冒泡与禁止事件的默认行为是不同的。一些事件(例如:一个锚点上的onclick)具有默认行为。当一个锚点被单击时,它默认的行为是把当前窗口导航到其src属性所指定的URL。在事件句柄中返回“false”,或者设置window.event.returnvalue属性为“false”,可以禁止事件的默认行为,但不能禁止事件的向上冒泡。要禁止向上冒泡,只有把window.event.returnvalue属性设为“true”,相对应地,禁止事件冒泡的设置也并会禁止事件的默认行为。

最后一个例子是演示如何利用事件冒泡将一个共同的效果应用到一组元素上的。若你想把其中一个元素排除在这个效果之外,只要简单地把下面这行代码,从:

<SPAN class=Item>Ham</SPAN>
修改为:

<SPAN class=Item onmouseover="window.event.cancelBubble = true;"
    onmouseout="window.event.cancelBubble = true;">Ham</SPAN>
就可以了。

(例子的超级链接:

url.gifhttp://msdn.microsoft.com/workshop/samples/author/dhtml/overview/dom_03.htm )

进一步的思考:
在有些情况下,你可以让一个onmouseover事件只注册在一个对象上,考虑下面情况:

<DIV id=MyDiv>
<IMG id=MyImg>
</DIV>
假如你在img对象上移动鼠标指针,事件将会以下面的顺序激发:

MyDiv:: onmouseover
MyDiv:: onmouseout
MyImg:: onmouseover
把你的鼠标指针从img对象上移开将会再次激发MyDiv::onmouseover事件。

有些时候,网页制作者可能会想去探测鼠标指针何时移出一个div对象以实现某种

特别效果。这时,仅仅简单地设置onmouseout事件就并不足够了。为了使这种情况更容易解决,IE4.0标准为onmouseover和onmouseout事件增加了指示源对象(formElement)和目标对象(toElement)的属性,你可以综合使用这些属性和容器的方法来辨别鼠标指针何时移出了一个区域。

 下面的例子演示了如何使用这些属性和方法:

(例子的超级链接:

url.gifhttp://msdn.microsoft.com/workshop/samples/author/dhtml/overview/dom_04.htm

<HTML>
<BODY id=Body>
<DIV id=OuterDiv style="width: 100px; height: 50px; background: red" 
    onmouseover="over();" onmouseout="out();">
<IMG id=Img1>
<IMG id=Img2>
<IMG id=Img3>
</DIV>
<SCRIPT>
function over() {
    var s;
    s = "onmouseover: "+window.event.srcElement.id+" from: "+
 
window.event.fromElement.id+" to: "+window.event.toElement.id;
    alert(s);
}
 
function out() {
    var s;
    s = "onmouseout: "+window.event.srcElement.id+" from: "+
 
window.event.fromElement.id+" to: "+window.event.toElement.id;
    alert(s);
 
if (!(OuterDiv.contains(window.event.toElement))) 
/*onmouseout事件并非由于鼠标指针从OuterDiv对象移进与其内部接壤的img对象而激发的,即:鼠标指针是真正的离开了整个OuterDiv包含的区域(译者注)*/
{
        alert("Out Now");
    }
}
</SCRIPT>
 
</BODY>

JavaScript第五章知识点总结——常用DHTML对象 Window对象 对话框 定时器

JavaScript第五章知识点总结——常用DHTML对象 Window对象 对话框 定时器 知识点预览 DHTML概述 Window对象 对话框 定时器     ...
  • yasiyuan
  • yasiyuan
  • 2014年10月11日 15:58
  • 308

xhtml,xml,html,和dhtml的关系和区别

XHTML产生的原因,一方面是为了和未来的XML大规模的应用接轨,一方面还要兼容目前的数以万计的用HTML编写的网页以及他们的设计者,开发者相兼容,于是便出现了这个东西。以HTML编写的网页中,标记使...
  • a519781181
  • a519781181
  • 2016年07月29日 10:47
  • 1666

如何提取剑叁模型

需要软件: 1.GA1305Share 2.3DS Max 2009 3.剑叁客户端 4.剑叁动画编辑器 5.GA1305Share的3DS Max 2009插件1.将3DobjImport...
  • fengda2870
  • fengda2870
  • 2015年06月07日 23:40
  • 1979

javascript(七)window其他子对象(DHTML模型)

7.1screen对象 1)包含有关客户端显示屏幕的信息(封装了屏幕相关的信息,供读取)。 2)常用属性:width/height、availWidth/availHeight 例如:var...
  • wzq6578702
  • wzq6578702
  • 2015年05月17日 22:13
  • 280

javascript(七)window其他子对象(DHTML模型)

7.1对象 1)包含有关客户端显示屏幕的信息(封装了屏幕相关的信息,供读取)。 2)常用属性:width/height、availWidth/availHeight 例如:var n =screen...
  • wzq6578702
  • wzq6578702
  • 2015年05月17日 17:06
  • 323

白话机器学习算法(十一) EM(附三个硬币模型代码)

http://blog.csdn.net/wangxin110000/article/details/22404983 EM有很多公式推导,这里还是先说下EM思想,前面说过EM是最大似然估计...
  • jiabiao1602
  • jiabiao1602
  • 2015年02月13日 10:12
  • 1033

EM算法学习笔记与三硬币模型推导

最近接触了pLSA模型,由于该模型中引入了主题作为隐变量,所以需要使用期望最大化(Expectation Maximization)算法求解。       本文简述了以下内容:      ...
  • AnneQiQi
  • AnneQiQi
  • 2017年03月21日 12:45
  • 1494

白话机器学习算法(十一) EM(附三个硬币模型代码)

EM有很多公式推导,这里还是先说下EM思想,前面说过EM是最大似然估计的思路,但是他的方法是用 参数与数据  去估计 参数,直到估计出的参数基本正确; EM是怎么做到的?...
  • wangxin110000
  • wangxin110000
  • 2014年03月30日 19:39
  • 1150

dhtmlxtree学习笔记三(ajax动态获取数据)

前端代码 Easy skinable design
  • hbiao68
  • hbiao68
  • 2013年12月04日 10:27
  • 790

【机器学习系列】EM算法求解三硬币问题(python版本)

三硬币模型 假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别为π,p和q。投币实验如下,先投A,如果A是正面,即A=1,那么选择投B;A=0,投C。最后,如果B或者C是正面,那么y=1;...
  • piaoxuefengqi
  • piaoxuefengqi
  • 2014年02月26日 18:54
  • 3414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DHTML对象模型 (三)
举报原因:
原因补充:

(最多只允许输入30个字)