1. 程式人生 > >jquery繫結click等事件無效解決方法live替代$().click不執行

jquery繫結click等事件無效解決方法live替代$().click不執行

場景: 使用$(xxx).click();綁定了ajax請求後追加的html程式碼中的某個元素時。出現事件失效的情況,這是因為繫結事件程式碼在元素出現之前就已經執行

>解決方法:可以使用live替代click,但是live方法在1.7中已經不建議使用,在1.9中刪除了這個方法,並建議使用on方法來替代具體實現demo如下:

<body>
    <button id="btn1">BTN1</button>
</body>
<script type="text/javascript">
/* 在id=btn1後面新增按鈕 */
function addBtn(){ var btn = $("<button></button>").append("BTN2").attr("id", "btn2"); $("#btn1").after(btn); } $(function(){ /* 2秒之後執行新增按鈕方法 */ setTimeout("addBtn()", 2000); /* 給新新增按鈕繫結click事件 */ $(document.body).on("click","#btn2", function(){ alert("Hello Jquery !"
); }); });
</script>