Запуск ссылки, если она заключена в тег

  • Автор темы developer1
  • 28
  • Обновлено
  • 15, May 2024
  • #1
У меня возникла проблема: модальное окно не запускается, если оно заключено в тег .
В моем примере, если вы щелкнете по «обычной» части ссылки со стилем шрифта, она сработает правильно, если вы щелкнете там, где выделен курсив, это не произойдет.
Есть идеи?
JS
 $(function () {

const openModals = [];

$('.modal-button').click(e => {

e.preventDefault();

$(e.target).closest('.modal').add('body').addClass('open');

openModals.push($($(e.target).attr('href')).show());

});

$(window).add('.close').click(e => {

e.stopPropagation();

if ($(e.target).is('.modal, .close')) {

const closing = openModals.pop().addClass('modal-content-active');

setTimeout(() => {closing.hide().removeClass('modal-content-active')}, 0);

if (openModals.length > 0) {

openModals[openModals.length - 1].removeClass('open');

} else $('body').removeClass('open');

}

});

});


Код (JavaScript): FIDDLE

https://jsfiddle.net/postcolonialboy/h70bkej9/30/

developer1


Рег
15 Jul, 2012

Тем
1

Постов
1

Баллов
11
  • 20, May 2024
  • #2
изменив e.target на e.currentTarget, это сработало. JavaScript:
 

$('.modal-button').click(e => {

e.preventDefault();

$(e.currentTarget).closest('.modal').add('body').addClass('open');

openModals.push($($(e.currentTarget).attr('href')).show());

});
Код (разметка):
 

tew26


Рег
13 Feb, 2013

Тем
0

Постов
1

Баллов
1
  • 13, Jun 2024
  • #3
Мне просто интересно, почему вы тратите JavaScript на то, что даже не является задачей JS. или:
Открыть модальное окно

и используйте #myModal:target в CSS, чтобы вызвать его представление, с X

, чтобы закрыть его, или:

Открыть модальное окно

и использовать

Так что:

.toggle:проверено + div {

можно использовать для его отображения, а другой X — для его закрытия.

Это уже НЕ даже работа JavaScript, не говоря уже о крушении поезда невежества, некомпетентности и некомпетентности разработчиков, которым является jQuery.

ЕДИНСТВЕННОЕ, чему вы можете научиться с помощью jQuery, — это тому, как НЕ писать JavaScript.
 

QWEdomain


Рег
27 Feb, 2013

Тем
2

Постов
7

Баллов
27
Тем
49554
Комментарии
57426
Опыт
552966

Интересно

Lumtu.com © 2024