jquery的on()綁定無效的方式


on前面的元素也必須在頁面加載的時候就存在於dom里面。動態的元素或者樣式等,可以放在on的第二個參數里面

jQuery on()方法是官方推薦的綁定事件的一個方法。使用 on() 方法可以給將來動態創建的動態元素綁定指定的事件,例如append等。

?
1
2
3
<div id= "test" >
<div class= "evt" >evt1</div>
</div>

錯誤的用法,下面方法只為第一個class 為 evt 的div 綁定了click事件,使用append動態創建的div則沒有綁定

?
1
2
3
4
5
<script>
// 先綁定事件再添加div
$( '#test .evt' ).on( 'click' , function () {alert($( this ).text())});
$( '#test' ).append( '<div class="evt">evt2</div>' );
</script>

正確的用法如下:

?
1
2
3
4
<script>
$( 'body' ).on( 'click' , '#test .evt' , function () {alert($( this ).text())});
$( '#test' ).append( '<div class="evt">evt2</div>' );
</script>

 

 

checkbox單選設置  如果 <input name="ck" type="checkbox">是動態添加的則可以這樣

$("#grid").on("click","input[name=ck]",function(){

$("input[name=ck]").not(this).prop("checked",false);

});

  注:$(selector).on(event,childSelector,data,function,map)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM