jquery繫結click等事件無效解決方法live替代$().click不執行
阿新 • • 發佈:2019-02-16
場景: 使用$(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>