Обновляется окно при клике, как убрать?
Есть скрипт
function shops(elt) { $('#'+$(elt).data('id')).fadeIn(); }; $(function($) { $('.popup-order').find('.close').on('click',function() { $('.popup-order').fadeOut(); }); $('.popup-order').on('click',function(e) { if ($(e.target).hasClass('popup-order')) $(this).fadeOut(); }); }); |
function shops(elt) { $('#'+$(elt).data('id')).fadeIn(); }; $(function($) { $('.popup-order').find('.close').on('click',function() { $('.popup-order').fadeOut(); }); $('.popup-order').on('click',function(e) { if ($(e.target).hasClass('popup-order')) $(this).fadeOut(); }); });
Он привязан к ссылке:
<a href="" class="close" title="Закрыть"></a>
При клике на ссылку в появившемся окне происходит обновление страницы и окно закрывается. Необходимо убрать обновление страницы при клике.
1. Навесить return false не сработало
2. Убрать href отключает полностью ссылку, как и если прописать ссылке ##
3. Заменить ссылку на span не работает
4. Навесить onclick сразу в ссылке с отменой не работает
5. Указать e.preventDefault(); не работает
6. Указать javascript:void(0) не работает
Дополнительно:
Ответы:
Если не нужен переход по ссылке, то и не делайте элемент ссылкой. Сделайте кнопку.
- кнопка не реагирует на действие вообще
- alex-alex98, Значит вы неправильно вешаете обработчик на элемент. Скорее всего, в DOM отсутствует элемент с селектором .popup-order .close а jQuery от вас этот факт прячет, поскольку ему всё равно, на сколько элементов навешивать обработчики, на ноль, на один, на сотню.
- Rsa97, не очень понимаю, ссылка работает на закрытие, то, что я скинул, работает, но оно обновляет страницу при закрытии, нажимая на close
Попробуй ссылку поменять на это
<button type="button" class="close" title="Закрыть"></button> |
<button type="button" class="close" title="Закрыть"></button>
- тогда не работает вообще, при наведении курсор есть, а сам клик не срабатывает
- alex-alex98, скинь свою разметку, возможно, скрипт не может этот элемент найти
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы убрать обновление окна при клике на вашем веб-сайте, вам необходимо использовать JavaScript для предотвращения действия по умолчанию для события клика. Вот пример кода на JavaScript, который позволит вам достичь этой функциональности:
document.addEventListener('DOMContentLoaded', function() { var links = document.querySelectorAll('a'); links.forEach(function(link) { link.addEventListener('click', function(event) { event.preventDefault(); }); }); });
Этот код предотвращает действие по умолчанию для всех ссылок на странице при клике на них. Теперь, когда пользователь нажимает на ссылку, страница не будет обновляться.
Вы также можете добавить дополнительные условия или логику в обработчик события клика, чтобы определить, какие ссылки должны быть предотвращены от обновления страницы.
Надеюсь, что это поможет вам решить проблему с обновлением окна при клике на вашем веб-сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.