여러 브라우저에서 라디오 버튼 그룹의 변경 사항을 안정적으로 추적하는 방법은 무엇입니까?
Oct 31, 2024 am 09:40 AM라디오 버튼 그룹의 변경 이벤트에 대한 크로스 브라우저 솔루션
여러 입력이 동일한 이름을 공유하는 라디오 버튼 그룹에서 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' 변수를 업데이트하기 전에 이전에 선택된 라디오 버튼(있는 경우)의 값을 기록합니다.
대체 접근 방식
- 직접 이벤트 위임 대신 이벤트 버블링을 사용할 수도 있습니다. 이 접근 방식에서는 이벤트 리스너가 양식 요소에 추가되고 라디오 버튼을 클릭하면 이벤트가 양식에 버블링됩니다. 그러나 이 접근 방식은 성능에 영향을 미칠 수 있습니다.
- 클릭 이벤트는 onChange에 대한 대체 수단으로 사용될 수 있습니다. 클릭 이벤트는 라디오 버튼 선택 여부에 관계없이 트리거되지만 라디오 버튼 그룹 상태에 대한 컨텍스트가 부족합니다.
위 내용은 여러 브라우저에서 라디오 버튼 그룹의 변경 사항을 안정적으로 추적하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7142
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1257
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1155
46

