나는 .live()
을 읽었으며 대신 .on
을 사용해야한다고 읽었습니다. 그러나 .on
은 DOM에 추가 된 요소에 대해 작동하지 않는 것 같습니다.동적으로 추가 된 .on() 사용 문제
내 스크립트는 임의의 수의 텍스트 상자 (input type="text"
)가있는 테이블을 추가하고 해당 텍스트 상자의 내용이 변경되면 스크립트를 실행하려고합니다.
내 코드의 일부입니다. vendorsPopUp
은 내 테이블을 포함하는 div를 참조합니다.
$('input', vendorsPopUp).on('change', function (e) {
alert($(this).attr('class'));
});
그러나 텍스트 상자의 내용이 변경되면이 코드는 실행되지 않습니다.
()처럼해야한다. on()은 바인딩 할 때 발견 된 몇 가지 요소뿐만 아니라 이벤트에 대한 하위 요소를 감시하는 상위 컨테이너를 사용합니다. 여분의 선택기 인수가 필요한 이유입니다. 지금 레거시 모드에서 on()을 사용합니다. – dandavis
다른 많은 질문이 중복되었습니다. 나는 지금 사본을 찾을 것입니다. – jfriend00
@dandavis는 직접 바인딩 모드에서 레거시 모드가 아닙니다. 요소에 직접 바인딩하는 것에 대한 유산은 없습니다. –