programing

jQuery를 사용하여 .prop을 변경해도 .change 이벤트가 트리거되지 않습니다.

cafebook 2023. 8. 1. 20:48
반응형

jQuery를 사용하여 .prop을 변경해도 .change 이벤트가 트리거되지 않습니다.

확인란에 이벤트 수신기가 있습니다.

<input type="checkbox" name="something">

내 이벤트 수신기:

$('input[type="checkbox"][name="something"]').change(function() { 
    //DO SOMETHING 
});

변경되는 다른 이벤트 수신기가 있습니다..prop확인란:

$('#button').click(function() { 
    $('input[type="checkbox"][name="something"]').prop("checked", false);
});

확인란을 선택한 경우DO SOMETHING트리거.를 클릭하면#button,그.prop변경하면 확인란이 시각적으로 선택 해제됩니다.DO SOMETHING방아쇠를 당기지 않는...

내가 간과하고 있는 것?

Change 이벤트는 코드를 사용하여 값을 수정하는 경우가 아니라 페이지의 사용자 상호 작용에 의해 값이 변경될 때 발생합니다.

여기서 사용해야 합니다..trigger('change')속성을 변경한 후:

$('input[type="checkbox"][name="something"]').prop('checked', false).trigger('change');

작업 데모

업데이트된 버전

.change()이미 사용되지 않습니다.

사용하다.trigger('change')대신

$('input[type="checkbox"][name="something"]').prop("checked", false).trigger('change');

언급URL : https://stackoverflow.com/questions/24410581/changing-prop-using-jquery-does-not-trigger-change-event

반응형