Jquery 動態新增元素並新增點選事件實現過程解析
阿新 • • 發佈:2020-11-19
給動態新增的元素新增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);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援碼農教程。