В то время, когда вы пытаетесь связать обработчик событий с div.expanded
, элемент еще не существует *. Следовательно, jQuery не может найти его и связать обработчик.
Вы можете решить эту проблему, используя делегирование события :
$(document.body).on('click', 'div.minimized', function() {
//...
});
$(document.body).on('click', 'div.expanded', function() {
//...
});
Вместо привязки события к каждому элементу, который соответствует селектору, обработчик привязывается к выбранным элементам ($(document.body)
) и запускается всякий раз, когда происходит событие на потомке, который соответствует селектору (div.expanded
). Вы должны выбрать первый селектор как можно ближе к фактическим элементам, для которых вы хотите запустить событие.
Дополнительную информацию также можно найти в документации jQuery в разделе Прямые и делегированные события .
*: Точнее говоря, элемент на самом деле существует, но у него еще нет класса expanded
, поэтому этот селектор ему не соответствует.