jQuery事件對象
使用jQuery事件對象
使用事件自然少不了事件對象。因?yàn)椴煌瑸g覽器之間事件對象的獲取,以及事件對象的屬性都有差異,導(dǎo)致我們很難跨瀏覽器使用事件對象。
jQuery 中統(tǒng)一了事件對象,當(dāng)綁定事件處理函數(shù)時(shí),會將 jQuery 格式化后的事件對象作為唯一參數(shù)傳入:
$("#testDiv").bind("click", function(event) { });
關(guān)于 event 對象的詳細(xì)說明, 可以參考 jQuery 官方文檔: http://docs.jquery.com/Events/jQuery.Event
jQuery 事件對象將不同瀏覽器的差異進(jìn)行了合并,比如可以在所有瀏覽器中通過 event.target 屬性來獲取事件的觸發(fā)者(在 IE 中使用原生的事件對象,需要訪問 event.srcElement)。
下面是 jQuery 事件對象可以在瀏覽器中支持的屬性:
上面是 jQuery 官方文檔中提供的 event 對象的屬性,下面還提供了多瀏覽器支持的屬性:
事件對象除了擁有屬性,還擁有事件。有一些是一定會用到的事件比如取消冒泡 stopPropagation() 等。下面是 jQuery 事件對象的函數(shù)列表:
這些函數(shù)中 stopPropagation() 是我們最常用的也是一定會用到的函數(shù)。 相當(dāng)于操作原始 event 對象的event.cancelBubble=true來取消冒泡。