라디오 버튼 그룹의 변경 이벤트에 대한 크로스 브라우저 솔루션
여러 입력이 동일한 이름을 공유하는 라디오 버튼 그룹에서 onChange 이벤트 변경 사항을 추적하는 데 신뢰할 수 없습니다. 이는 라디오 버튼이 선택 해제되면 onChange가 실행되지 않기 때문입니다.
해결 방법: 이벤트 위임 및 상태 관리
한 가지 해결 방법은 이벤트 위임 및 상태 관리를 사용하는 것입니다. 이전에 선택한 라디오 버튼을 추적합니다. 라디오 버튼이 포함된 양식에 단일 이벤트 리스너를 추가하면 모든 변경 이벤트를 캡처하고 이에 따라 상태를 업데이트할 수 있습니다.
<code class="javascript">var rad = document.myForm.myRadios; var prev = null; for (var i = 0; i < rad.length; i++) { rad[i].addEventListener('change', function() { (prev) ? console.log(prev.value): null; if (this !== prev) { prev = this; } console.log(this.value) }); }</code>
이 스크립트는 각 라디오 버튼에 변경 이벤트 리스너를 할당합니다. 변경 사항이 발생하면 현재 선택된 라디오 버튼을 참조하기 위해 'prev' 변수를 업데이트하기 전에 이전에 선택된 라디오 버튼(있는 경우)의 값을 기록합니다.
대체 접근 방식
위 내용은 여러 브라우저에서 라디오 버튼 그룹의 변경 사항을 안정적으로 추적하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!