На странице с классом close
есть значки (значок представляет собой x, который закрывает div).В браузере шрифт загружается в HTML как элемент <svg>
, а элемент <path>
- как дочерний.Используя slim, код выглядит следующим образом:
= icon :times, class: 'close'
Прослушиватель событий добавляется к значкам в JS следующим образом:
(function($) {
function closeDialog() { ... }
$(document).ready(function() {
$('.close').on('click', closeDialog);
}
})(jQuery);
Послестраница загружается, событие не запускается при нажатии на значок X.Однако, если я добавлю класс close
к любому другому элементу, кроме значка font-awesome, он будет срабатывать правильно при нажатии.Кроме того, если я копирую и вставляю JS в консоль и запускаю ее, то щелчок по элементу SVG вызывает событие.
В настоящее время мое решение состоит в том, чтобы обернуть SVG в div и присвоить div класс close
.Это работает, но я хотел бы понять, почему оригинал не.
Рабочее решение:
.close
= icon :times