내 응용 프로그램이 동적으로 드롭 다운을 추가했습니다. 사용자는 필요한만큼 추가 할 수 있습니다.
나는 전통적으로 jQuery의 live()
방법을 사용하여 이러한 드롭 다운 중 하나가 언제 발견되었는지 감지했습니다 change()
.
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
jQuery 1.7부터는 다음과 같이 업데이트했습니다.
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
문서를 보면 완벽하게 유효해야합니다 (맞습니까?). 그러나 이벤트 핸들러는 절대 실행되지 않습니다. 물론 jQuery 1.7이로드되어 실행되고 있음을 확인했습니다. 오류 로그에 오류가 없습니다.
내가 뭘 잘못하고 있죠? 감사!
live
가 실제로on
어쨌든 사용 하고있는 것처럼 보이 므로live
제거 될 때까지 레거시 코드를 다시 작성해야 할 수도 있습니다 .1.9라고 생각합니다. 1.7.1 소스에서 발췌 :live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}
따라서 버전live
이 없어진 버전으로 업그레이드 하지 않으면 레거시 코드에 대한 업데이트가 즉시 필요하지 않을 수 있습니다. 들어 새로운 과정 개시 코드on()
대신으로 권장합니다. 나는이 정보가 어떤 단계에서 다른 사람에게 도움이 될 것이라고 생각했습니다.