当前位置:嗨网首页>书籍在线阅读

02-导言

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

8.0 导言

事件是用户和网站或者Web应用程序之间通信的主要方法。大部分JavaScript/jQuery编码都用来响应各种用户和浏览器事件。

这里所说的用户事件,基本是指键盘和鼠标交互,如 clickmousedownkeypress 等事件。浏览器事件指的主要是DOM事件,如 document.readywindow.onload 和许多与DOM元素相关的事件。

在Ajax应用程序编码中,还有自定义的jQuery Ajax事件,如 ajaxSendajaxCompleteajaxError 等,这些事件在Ajax请求过程中调度。

jQuery的API一致性很好,尤其是对于事件。附加任何类型的事件处理程序的代码结构都相同:

jQuery( listener).bind( 'eventName', handlerFunction);

这一语法也适用于前面已经提到过的4类事件。jQuery的事件系统可以用于事件驱动编程。[1]可以创建和常规事件绑定与触发方式相同的自定义事件。

jQuery还为最常见的浏览器和Ajax事件提供了一个快捷方法。使用快捷方法的典型调用如下:

jQuery( listener).eventName( handlerFunction);

当使用 bind() 方法时, eventName 是放在单引号或者双引号中的一个字符串,而在使用快捷方法时,可以将事件名称当作jQuery方法的名称。

下面是使用和不使用快捷方式绑定单击事件处理程序的例子:

// 使用bind()
 jQuery('div').bind('click',function(e){...});
 // 使用快捷方法
 jQuery('div').click(function(e){...});

在本章中,将在可以使用快捷方式的地方使用它,因为在我看来,快捷方式更简短易读。两者的效果相同,除了清晰和简洁之外,使用快捷方式没有其他的好处,使用哪一种方法只是爱好问题。

假定你已经阅读过第1章,该章已经详细地解释了 document.ready 事件(秘诀1.2)。如果你对该事件的用法有任何疑问,可以参考秘诀1.2。

我还要澄清一点,当使用插件这一术语时,大部分时候的意思是“插件、窗口组件或者就是代码块。”大部分jQuery用户倾向于将代码组织成类似插件的结构,通常在jQuery的命名空间中添加名称。

最后,jQuery的事件模块在jQuery 1.3中进行了很大的修改。我将根据使用的jQuery版本,提到代码中需要以不同方式处理的部分。