0
replaceWith() 후에 bind()를 사용하여 이벤트를 추가해야하지만 replaceWith()가 실행 된 후에 만 요소가 존재해야합니다. 요소를로드 한 후 이벤트를 추가하려면 어떻게합니까?replaceWith() 후 이벤트를 추가하는 방법은 무엇입니까?
$.ajax({ type: 'GET', url: trElement.find(".editRecord").attr("href") + '?id=' + tdId.html(), success: function(data, textStatus, jqXHR) { trElement.replaceWith(data); trElement.find(".btnEditRecord").bind("click", save); trElement.find(".btnCancelEditRecord").bind("click", cancel); } });
당신이 할 수있는, 제발 모범을 :
내 코드는 다음과 같이 보입니다.
대단히 감사합니다.
방금 'trElement'를'data'로 대체 했으므로'trElement'가 사라 졌으므로 이벤트 핸들러를 추가하지 않고'data'에 이벤트 핸들러를 붙이십시오. 대신 – adeneo
DOM을로드 할 때 이벤트 위임을 사용하므로 새 요소를 동적으로로드 한 후에 아무 것도 할 필요가 없습니다. http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements를 참조하십시오. – Barmar