jQuery事件對象event的屬性和方法

事件處理(事件對象、目標元素的獲取,事件對象的屬性、方法等)在不一樣瀏覽器之間存在差別,jQuery在遵循W3C規範的狀況下作了封裝統一jquery

1、事件對象經常使用的屬性:
  • 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元素;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

2、事件對象經常使用的方法:this

  • event.preventDefault() :阻止默認行爲,能夠用 event.isDefaultPrevented() 來肯定preventDefault是否被調用過了
  • event.stopPropagation() :阻止事件冒泡,事件是能夠冒泡的,爲防止事件冒泡到DOM樹上,不觸發任何前輩元素上的事件處理函數,能夠用 event.isPropagationStopped() 來肯定stopPropagation是否被調用過了
相關文章
相關標籤/搜索