文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Script学习JavaScript的事件
精品推荐
特别推荐
·用户体验:JS实现仿新浪信息提示效果
·网页特效:图片随机显示实例详解
·JavaScript入门学习书籍的阶段选择
·Javascript代码轻松隐藏网页源文件
·网页制作:JavaScript仿Windows关机效果
·网页制作Javascript经典小技巧总结
·JavaScript的9个陷阱及评点
·简单介绍用JSP来实现文件下载功能的几种方式
·网页播放器实现全屏的方法总结
·菜鸟学习javascript实例教程
·JavaScript 经典代码大全
·汇总:一些不错的使用频率比较高的JS函数
·Javascript模拟的DOS窗口
·JavaScript仿Windows关机效果
·仿windows选项卡效果拾零
·JavaScript经典效果集锦
·jscript/javascript条件编译
·Js之软键盘实现(源码)
·弹出窗口window.open()的参数列表
·javascript gb2312转utf-8
热点TOP10
·javascript 常用代码大全
·菜鸟学习javascript实例教程
·JavaScript经典效果集锦
·B/S开发常用JavaScript技术
·40种网页常用小技巧
·服务端VBScript与JScript几个相同写法
·网页屏蔽(左右键,代码等)的非JS方法
·如何判断ACTIVEX控件是否下载
·Microsoft VBscript运行时错误'800a000d'的解决方案
·一些很实用且必用的小脚本代码
·一个以Javascript+xml的树型列表
·JavaScript幻灯片效果
·用window.location.href实现刷新另个框架页面
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·如何实现一个表格表头不动tbody区域用滚动条可以滚动
·javascript gb2312转utf-8
·网页两侧浮动广告代码
·网站左右两边浮动广告JS代码
·用VB编写ActiveX DLL实现ASP编程
·网页制作:JavaScript仿Windows关机效果

学习JavaScript的事件

日期:2008年3月21日 作者: 查看:[大字体 中字体 小字体]


在很多语言的学习中,“事件”都是一个比较难理解,但是又是一个很重要的概念。javascript中的事件处理也是一样,正因为有了事件处理,才会出现Ajax拖动的效果。本文就讨论一下JavaScript中的事件处理,读过之后,您就会知道,很多Ajax框架实现拖动效果的原理了。

一、 IE Event对象

(一)IE Event对象的主要属性和方法

在IE中有一个专门负责事件处理的对象Event,这个对象负责对事件的处理,含有很多的属性和方法,通过这些方法和属性的调用,就能完成很多的事件处理。

type:事件的类型,就是Html标签属性中,没有“on”前缀之后的字符串,例如“Click”就代表单击事件。

三、 DOM中的高级事件处理

IE 6中的事件处理,并不是W3C DOM标准的事件处理模型,所以如果上述代码运行在Mozilla Firefox浏览器中,就会失去作用,同时即将发布的IE 7也将支持W3C DOM的二级标准,所以掌握DOM的高级事件处理显得就很重要了,因为W3C DOM二级标准是未来Web的发展方向,同时W3C DOM的API非常常用,为未来更加复杂的Web开发提供了良好的基础。

(一)事件处理程序的作用域和事件的传播

在正式讨论DOM高级事件处理之前,我们有必要了解一下事件处理程序的作用域。事件处理程序的作用域要比普通的函数作用域复杂很多。普通的函数作用域链比较容易,例如在一个普通函数中查找一个变量a,那么JavaScript解释器会先在该函数的

调用对象中查找是否有a这个变量,如果没有,将会在作用域链的下一个对象,一般是全局对象中查找。但是事件处理程序没这么简单,特别是用HTML的属性定义的,它们的作用域链的头部是调用它们的对象,而下一个对象并不是全局对象,而是触发事件处理程序的对象。这样就会出现一个问题,window和document都有一个方法open(),如果open()前面不加修饰,那么在事件处理的函数中将会调用document.open()方法,而不是常用的window.open()方法,所以使用的时候应该明确指明是window.open()。

(二)事件传播和注册事件处理程序

1.事件传播

在二级DOM标准中,事件处理程序比较复杂,当事件发生的时候,目标节点的事件处理程序就会被触发执行,但是目标节点的父节点也有机会来处理这个事件。事件的传播分为三个阶段,首先是捕捉阶段,事件从Document对象沿着DOM树向下传播到目标节点,如果目标的任何一个父节点注册了捕捉事件的处理程序,那么事件在传播的过程中就会首先运行这个程序。下一个阶段就是发生在目标节点自身了,注册在目标节点上的相应的事件处理程序就会执行;最后是起泡阶段,事件将从目标节点向上传回给父节点,同样,如果父节点有相应的事件处理程序也会处理。在IE中,没有捕捉的阶段,但是有起泡的阶段。可以用stopPropagating()方法来停止事件传播,也就是让其他元素对这个事件不可见,在IE 6中,就是把cancelBubble设置为true。

2.注册事件处理程序

1.Event

detail:提供事件的额外信息,对于单击事件、mousedown和mouseup事件都代表的是点击次数。

3.MouseEvent

button:一个数字,指明在mousedown、mouseup和单击事件中,鼠标键的状态,和IE中的button属性类似,但是数字代表的意义不一样,0代表左键,1代表中间键,2代表右键。

altKey、ctrlKey、shiftKey、metaKey:和IE相同,但是IE没有最后一个。

clientX、clientY:和IE的含义相同,但是在DOM标准中,这两个属性值都不考虑文档的滚动情况,也就是说,无论文档滚动到哪里,只要事件发生在窗口左上角

mouseout有意义外,其他的事件没什么意义。

(三)兼容于两种主流浏览器的拖动DOM元素的例子

好了,刚才讲了这么多DOM编程和IE中的事件,那么如何编写兼容IE和Mozilla Firefox两种主流浏览器的拖拽程序呢?代码如下:

function beginDrag(elementToDrag,event)
{
  var deltaX=event.clientX-parseInt(elementToDrag.style.left);

[1] [2] 下一页 




上一篇:Photoshop手绘教程:水墨美女画

下一篇:Flash教程:制作随机画圆弧动画

学习JavaScript的事件 相关文章:
·涉及陈冠希事件的人物QQ表情
·陈冠希事件的启示 明星电脑安全防范手册
·[揭密]东北财经大学王婷婷的露点自杀事件(续)
·学习JavaScript的事件
·菜鸟入门 认识C#中的委托和事件
·3DS MAX图文教程:事件驱动粒子系统——喷泉效果
·关闭Windows Server 2003关机事件跟踪程序
·javascript的键盘控制事件
·《三国志11》历史事件触发条件和遗迹的作用
·ASP.Net防止刷新自动触发事件的解决方案
学习JavaScript的事件 相关软件:
·车臣之鉴: 俄罗斯恐怖事件根源及教训
·炒作?没事找事的事件营销
·《炒作?没事找事的事件营销》
·〔经典〕 范达因“杀人事件”推理作品集
·三国志10中文版 所有人物事件动画全开存档(650人物CG+88事件CG+22事件动画)
·血泊罗霄—井冈山重大历史事件揭秘
·死亡联盟—高饶事件始末
·百亿遗产杀人事件
·白烂江湖事件簿
·三个鼠标奇异事件代码

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn