jQuery事件对象event的属性和方法

事件处理(事件对象、目标元素的获取,事件对象的属性、方法等)在不同浏览器之间存在差异,jQuery在遵循W3C规范的情况下做了封装统一

一、事件对象常用的属性:
  • event.type:获取事件的类型,触发元素的事件类型
$("a").click(function(event) {
  alert(event.type); // "click"事件
});
  • event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标,可以确定元素在当前页面的坐标值,是以页面为参考点,不随滑动条移动而变化
$("a").click(function(event) {  
  alert("Current mouse position: " + event.pageX + ", " + event.pageY );
  return false;
});
  • event.target:获取触发事件的元素

  thisevent.target的区别:

    js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

    this和event.target都是dom对象,可以转换为jquery对象:$(this)和$(event.target)

$("a[href=http://www.baidu.com]").click(function(event) {  
  alert(event.target.href);  
  return false;
});  
  • event.which:获取在鼠标单击事件中鼠标的左、中、右键(左键1,中间键2,右键3),在键盘事件中键盘的键码值
$("a").mousedown(function(e){  
    alert(e.which);  
    return false;
}) 
  • event.currentTarget : 获取冒泡前的当前触发事件的DOM对象, 等同于this

二、事件对象常用的方法:

  • event.preventDefault() :阻止默认行为,可以用 event.isDefaultPrevented() 来确定preventDefault是否被调用过了
  • event.stopPropagation() :阻止事件冒泡,事件是可以冒泡的,为防止事件冒泡到DOM树上,不触发任何前辈元素上的事件处理函数,可以用 event.isPropagationStopped() 来确定stopPropagation是否被调用过了

 

posted @ 2018-10-11 19:48  杨浪  阅读(6838)  评论(0编辑  收藏  举报