jQuery事件物件

weixin_34007291發表於2017-10-16

學習要點

  • 事件物件 特別注意的就是jquery中的e和源生的e不一樣。封裝好了
  • 冒泡和預設行為

JS在事件處理函式中預設傳遞了event物件,也就是事件物件。jquery在封裝的時候,解決了這些問題

(一) 事件物件

事件物件就是event物件,e就是event物件。event物件有很多可用的屬性和方法。

$("input").on('click',function(e){
  window.alert(e);
})

event物件屬性

  • type 獲取這個事件的型別 例如click
  • target 獲取繫結事件的DOM元素
  • pageX/pageY相對於頁面原點的水平/垂直座標
  • clientX/clientY 獲取相當於可視區域的水平/垂直座標
  • altKey/shiftKey/ctrlKey/metaKey/獲取是否按下了alt,shift,ctrl 這是三個鍵
//通過event.target來獲取繫結的DOM元素
$("input").click(function(e){
  alert(e.target);
})

(二) 冒泡和預設行為

冒泡就是子元素綁架父元素,讓父元素也執行子元素的方法

e.stopPropagation()
這樣就阻止冒泡了。子元素執行子元素的方法。父元素不會執行子元素的方法

阻止預設行為

e.preventDefault();  //阻止預設行為。這樣會禁止預設事件
$("form").submit(function(e){
  e.preventDefault();
})
return false;  //簡寫

相關文章