jQuery:The event handler and its environment(不會翻譯...)

(摘錄自http://api.jquery.com/on/,在下翻譯水平很低..)

The handler argument可以是一個function或者false值或者事件鍵值對(event-map).

當瀏覽器觸發了一個事件(event)或者JS時會調用jQuery的.trigger()方法,jQuery向handler傳送一個時間對象(event object),它可以用來分析和改變事件的狀態.

例如,event.type包含事件名字(例如"resize"),event.target表示事件發生的最底層(deepest or innermost)元素.

默認情況下,大多數時間從原始事件目標(original event target)想document元素往上冒泡(bubble).例如:<div><p><a>link</a></p></div>裏的元素a被點擊後,事件冒泡的順序是a->p->div->body->document.

hadler可以通過調用event.stopPropagation()來阻止事件的冒泡,然而,任何其他附在當前元素上的handler仍會運行.爲了阻止這種情況,可以調用event.stopImmediatePropagation().

同時,handler可以調用event.preventDefault()來取消瀏覽器的默認動作.(但不是所有瀏覽器事件都有默認動過,不是所有默認動作都可以取消)

handler返回false將會自動調用event.stopPropagation()和event.preventDefault(),從而使事件停止冒泡.false可以寫作function(){return false;}

當jQuery調用一個handler,關鍵詞this是正在被傳送的事件的一個引用(注意,this可能不是event.target(),如果元素從後繼元素開始冒泡)

創建一個this的jQuery對象的方法:$(this)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章