jQuery的triggerHandler()方法用法介紹

antzone發表於2017-03-28

此方法的功能和trigger()方法類似。

關於trigger()可以參閱jQuery trigger()一章節。

此方法可以觸發匹配元素指定型別的事件處理函式。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
$(selector)..triggerHandler(eventType,[param1,param2,...])

引數解析:

1.eventType:必需,規定事件型別,比如click或者submit等。

2.[param1,param2,...]:可選,傳遞給事件處理函式的引數,如果要傳遞多個引數需要使用陣列。

程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(document).ready(function(){
  $("a").click(function(ev,arg){
    $("#show").html(arg);
  })
  $("a").triggerHandler("click","softwhy.com");
})
</script>
</head>
<body>
<a href="#">螞蟻部落</a>
<div id="show"></div>
</body>
</html>

上面的程式碼演示了triggerHandler()方法的作用。

雖然此方法和trigger()用法非常類似,但是區別還是很大的,下面就分別做一下介紹:

1.此方法不會觸發事件的預設行為,比如觸發連結<a>的click事件不會出現跳轉現象。

2.trigger()方法會觸發所有匹配元素的指定型別的事件,但是此方法只會觸發匹配元素中第一個元素指定型別事件。

3.此方法觸發事件不會有事件冒泡現象。

4.此方法的返回值是最後一個處理的事件的返回值,如果沒有觸發任何事件,會返回undefined,trigger()此方法會返回jquery物件。

相關文章