就如在概述中提到的一样,事件处理函数可以接收包含很多属性和方法的事件对象。 事件对象常使用preventDefault方法阻止事件默认动作的执行。 当然,事件对象还包含了其它的有用的属性和方法,包括:
事件触发时鼠标相对于页面左上角的位置。
事件的类型(例如“click”)。
按下的按钮或按键。
事件被绑定时传入的所有数据。
初始化事件的DOM元素。
阻止事件默认方法的执行(例如点击一个链接)。
停止事件影响其它元素。
除了事件对象之外,事件处理函数也可以通过this
关键字访问事件处理函数所绑定的DOM元素。
我们可以使用$(this)
将DOM元素转换成可以使用jQuery方法的jQuery对象,语法如下:
var $this = $(this);
Example 5.8. 阻止链接被访问
$('a').click(function(e) { var $this = $(this); if ($this.attr('href').match('evil')) { e.preventDefault(); $this.addClass('evil'); } });
Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.