Foxmail★Blog

——朱俊Blog

用户操作
[即时聊天] [发私信] [加为好友]
朱俊ID:foxmail
134395次访问,排名620好友0人,关注者1
foxmail的文章
原创 100 篇
翻译 0 篇
转载 10 篇
评论 235 篇
最近评论
vvukqr:WoW Gold
ym:好文才,对我就像醍醐灌顶
阿豪:你的墙纸设置方法有问题,无法设置jpg和gif,只能设置bmp。如果设置图片为jpg和gif墙纸没有任何变化。如果你感兴趣,我可以把代码发给你看看,看看到底是你的方法有问题还是我做得不对。
nqh@exchange.ricsson.com
xiaopianzi:看到你对svm有研究,所以请问svmlight多分类预测时,我连网页上提供的exampel效果都不好,怎么回事?参数的选定有没有窍门?还有libsvm我用它作多分类预测,总是报错!怎么回事?请指教!!!
egxsun:要是加flash,怎么改这段:if (filmURL != null) {
filmstring = '<object classid=""clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"" id=""WindowsMediaPlayer1"">'; ……
文章分类
收藏
相册
Funny
文章用图
朱俊
我的主页
MSN Space
中国人工智能网
恋雪
步天软件
留言
连连看
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 DHTML对象模型 (三)收藏

新一篇: DHTML对象模型 (二) | 旧一篇: DHTML对象模型 (二)


禁止事件:
所有的事件都将向它们的父级元素冒泡,而且除非冒泡过程中事件被禁止了,否则事件将会被递归地沿着层次结构的路径最后上浮到文档对象(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>
就可以了。

(例子的超级链接:

http://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)的属性,你可以综合使用这些属性和容器的方法来辨别鼠标指针何时移出了一个区域。

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

(例子的超级链接:

http://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>

发表于 @ 2004年07月27日 21:22:00|评论(loading...)|编辑

新一篇: DHTML对象模型 (二) | 旧一篇: DHTML对象模型 (二)

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © Foxmail