div 안에 여러 체크 박스가 있습니다. 재설정하고 싶습니다. 그들 모두는 변화에 대해 동일한 사건을 겪는다. 재설정 버튼을 클릭하면 현재 등록 정보와 데이터 기본값이 비교되고 다른 등록 정보가 있으면이 등록 정보가이 값으로 설정되고 변경 이벤트가 트리거됩니다.요소/노드 목록에서 트리거가 너무 느림
데이터 기본값은 페이지로드시 설정된 체크 상태 또는 아약스에 의해 섹션이 저장 될 때 체크 된 상태입니다.
var $checkboxes = $section.find(":checkbox");
for (var i = 0; i < $checkboxes.length; i++) {
var $cb = $($checkboxes[i]);
var currentValue = $cb.prop("checked");
var defaultValue = $cb.data("default");
if (currentValue !== defaultValue) {
$cb.prop("checked", defaultValue)
.trigger("change");
}
}
여기서의 문제는 성능입니다. 70 개의 체크 박스에 대해 jquery를 사용하여 변경 이벤트를 트리거하려면 약 1 초가 걸립니다. 리셋 할 1000 개의 체크 박스가있을 경우 약 5 분이 소요됩니다 (브라우저가 다운되지 않으면).
바닐라 자바 스크립트로 객체 배열에 대한 onchange 이벤트를 발생시키는 더 좋은 방법이 있습니까?
리셋 버튼을 클릭, 당신은 체크 박스 모두를 잘 확인되고 싶어? –
@JuOliveira 값을 dava-value 속성으로 재설정하고 변경된 값을 가진 이벤트에 대한 변경 이벤트를 트리거합니다. –