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)

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