<div class="list-row" onclick="showChatDialog('dy','100000001',true);"> <img class="icon" src="/icon/default.ico" onclick="personData(event,100000001);"> <a class="nickname">dy</a> <a class="time">6-2 21:28</a> <a class="msg">aa</a> </div>
function personData(ev,id) { ev.stopPropagation(); bodyContainer.children().hide(); $(".person-data").show(); $(".person-data .body-body").html(""); getObjectData(userID); }
funname(event)會將事件傳到函數參數里,調用時一定要是event,然后函數處的名就不一定要是event
funname(this)也是一樣,會將當前DOM元素傳到函數里,調用時一定要是this
ev.stopPropagation()阻止事件向父元素冒泡
jQuery 事件 方法
jQuery 事件方法
事件方法觸發器或添加一個函數到被選元素的事件處理程序。
下面的表格列出了所有用於處理事件的 jQuery 方法。
方法 | 描述 |
---|---|
bind() | 向元素添加事件處理程序 |
blur() | 添加/觸發失去焦點事件 |
change() | 添加/觸發 change 事件 |
click() | 添加/觸發 click 事件 |
dblclick() | 添加/觸發 double click 事件 |
delegate() | 向匹配元素的當前或未來的子元素添加處理程序 |
die() | 在版本 1.9 中被移除。移除所有通過 live() 方法添加的事件處理程序 |
error() | 在版本 1.8 中被廢棄。添加/觸發 error 事件 |
event.currentTarget | 在事件冒泡階段內的當前 DOM 元素 |
event.data | 包含當前執行的處理程序被綁定時傳遞到事件方法的可選數據 |
event.delegateTarget | 返回當前調用的 jQuery 事件處理程序所添加的元素 |
event.isDefaultPrevented() | 返回指定的 event 對象上是否調用了 event.preventDefault() |
event.isImmediatePropagationStopped() | 返回指定的 event 對象上是否調用了 event.stopImmediatePropagation() |
event.isPropagationStopped() | 返回指定的 event 對象上是否調用了 event.stopPropagation() |
event.namespace | 返回當事件被觸發時指定的命名空間 |
event.pageX | 返回相對於文檔左邊緣的鼠標位置 |
event.pageY | 返回相對於文檔上邊緣的鼠標位置 |
event.preventDefault() | 阻止事件的默認行為 |
event.relatedTarget | 返回當鼠標移動時哪個元素進入或退出 |
event.result | 包含由被指定事件觸發的事件處理程序返回的最后一個值 |
event.stopImmediatePropagation() | 阻止其他事件處理程序被調用 |
event.stopPropagation() | 阻止事件向上冒泡到 DOM 樹,阻止任何父處理程序被事件通知 |
event.target | 返回哪個 DOM 元素觸發事件 |
event.timeStamp | 返回從 1970 年 1 月 1 日到事件被觸發時的毫秒數 |
event.type | 返回哪種事件類型被觸發 |
event.which | 返回指定事件上哪個鍵盤鍵或鼠標按鈕被按下 |
event.metaKey | 事件觸發時 META 鍵是否被按下 |
focus() | 添加/觸發 focus 事件 |
focusin() | 添加事件處理程序到 focusin 事件 |
focusout() | 添加事件處理程序到 focusout 事件 |
hover() | 添加兩個事件處理程序到 hover 事件 |
keydown() | 添加/觸發 keydown 事件 |
keypress() | 添加/觸發 keypress 事件 |
keyup() | 添加/觸發 keyup 事件 |
live() | 在版本 1.9 中被移除。添加一個或多個事件處理程序到當前或未來的被選元素 |
load() | 在版本 1.8 中被廢棄。添加一個事件處理程序到 load 事件 |
mousedown() | 添加/觸發 mousedown 事件 |
mouseenter() | 添加/觸發 mouseenter 事件 |
mouseleave() | 添加/觸發 mouseleave 事件 |
mousemove() | 添加/觸發 mousemove 事件 |
mouseout() | 添加/觸發 mouseout 事件 |
mouseover() | 添加/觸發 mouseover 事件 |
mouseup() | 添加/觸發 mouseup 事件 |
off() | 移除通過 on() 方法添加的事件處理程序 |
on() | 向元素添加事件處理程序 |
one() | 向被選元素添加一個或多個事件處理程序。該處理程序只能被每個元素觸發一次 |
$.proxy() | 接受一個已有的函數,並返回一個帶特定上下文的新的函數 |
ready() | 規定當 DOM 完全加載時要執行的函數 |
resize() | 添加/觸發 resize 事件 |
scroll() | 添加/觸發 scroll 事件 |
select() | 添加/觸發 select 事件 |
submit() | 添加/觸發 submit 事件 |
toggle() | 在版本 1.9 中被移除。添加 click 事件之間要切換的兩個或多個函數 |
trigger() | 觸發綁定到被選元素的所有事件 |
triggerHandler() | 觸發綁定到被選元素的指定事件上的所有函數 |
unbind() | 從被選元素上移除添加的事件處理程序 |
undelegate() | 從現在或未來的被選元素上移除事件處理程序 |
unload() | 在版本 1.8 中被廢棄。添加事件處理程序到 unload 事件 |
contextmenu() | 添加事件處理程序到 contextmenu 事件 |
$.holdReady() | 用於暫停或恢復.ready() 事件的執行 |