Задать вопрос
JackShcherbakov
@JackShcherbakov

Почему функция prop() работает только с событием click?

Почему так не работает
if($('#hideShip').prop('checked')){
     $('#block').slideUp(300);
}

А так работает
$('#hideShip').click(function(){
   if($(this).prop('checked')){
        $('#block').slideUp(300);
   }
});

Почему без click не работает?
  • Вопрос задан
  • 327 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
alvvi
@alvvi
export default apathy;
Может быть потому что при клике мы и добавили инпуту аттрибут checked, следовательно $(this).prop('checked') вернул true, а изначально он возвращает false, потому что инпут не имеет аттрибута checked?

В целом .prop() метод ни от каких событий конечно же не зависит: https://jsfiddle.net/6d6xg5tp/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
cashalot
@cashalot
Если я вам помог - пометьте мой ответ как решение
Потому что prop - это не функция, а проверка на состояние. Просто взять и вот так проверить - ты не сможешь. А выполнить проверку по клику или по загрузке страницы и т.д. - запросто.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы