이벤트 핸들러가 동적으로 추가 요소를 실행하지 않는 것을 의미하는 경우,이있을 수 있습니다
HTML과 같은 고전적인 실수 :
<div id="container">
<div class="box">Box</div>
</div>
자바 스크립트 :
$('.box').on('click', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will not be handled.
하지만 JavaScript를 조금만 변경하면 dyn의 이벤트 때를 불려갑니다 이런 식으로
$('#container').on('click', '.box', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will be handled.
당신이 용기와 적절한 이벤트 핸들러에 이벤트 처리기를 바인딩하고 있습니다 :
그것을 변경하는 방법 : amically 요소는 당신이 원하는대로 처리됩니다 추가 이벤트가 터지게됩니다.
먼저 코드를 살펴본 다음 코드에서 버그를 지적합니다. – Hogan
질문을 샘플 코드로 업데이트 할 수 있습니까? –
첫 번째 문장에서 코드 예제로 상황을 재현 할 수 없다고 말했습니다. 죄송합니다 – nimrod