1. 程式人生 > 實用技巧 >Jquery 動態新增元素並新增點選事件實現過程解析

Jquery 動態新增元素並新增點選事件實現過程解析

給動態新增的元素新增js事件,不能直接新增js事件,需要藉助on( )方法,給選擇器指定的子元素新增事件處理函式,並非選擇器本身;

1. 語法

$(selector).on(event,childSelector,data,function)
// event _ 需要新增的js事件
//childSelector _ 只能新增到指定的子元素上的事件處理程式
//data _ 呼叫函式時需要傳遞的引數
// function _ js函式發生時觸發的事件

2. 例項

//html程式碼
<div id="div1" style="border:1px solid black;"></div> 
<script type="text/javascript">
  //在id為div_link的元素中動態追加a
  $("#div1").html('<a id="div_link">連結點選</a>');
  //觸發通過js動態新增的超連結a
  $("#div1").on("click", "#div_link", function(){
   //點選id為div_link時呼叫的處理函式
  });
</script>

3. 相關概念:事件冒泡、事件捕獲,預設為事件冒泡

事件冒泡:從子元素到祖先元素觸發事件的執行; 子元素綁定了click事件,當點選子元素時,瀏覽器會向上查詢綁有click事件的父、祖先元素,如有就執行;預設為事件冒泡;

事件捕獲:從點選的元素到子元素執行觸發的相同的事件;當某個元素中綁定了click事件時,點選此元素,瀏覽器會向下查詢綁有click事件的子、後代元素,如有就執行點選事件;

程式碼:

 //第一個引數:所繫結的事件;
 //第二個引數:觸發事件後執行的方法;
 //第三個引數:決定是事件冒泡-false還是事件捕獲-true;預設為false-事件冒泡;
 elem.addEventListener("click", function(){

     ......
   }, boolean); 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援碼農教程。