Задать вопрос
aveyda7
@aveyda7
Photoshop

Как запретить открывать ссылку при событии .on('click')?

У меня на сайте стоит ajax обработчик ссылок. $('body').on('click','.ajax_post', function () {}, но при клике на ссылку, если там указан url в href, открывается ссылка, а не контент в контейнере. Как при клике на эту ссылку, запретить открывать ссылку как новую страницу?
Сайт предназначен для радио, и я не могу дать прогружаться, заново всем скриптам.
В то же время, я не могу обойтись без параметра href, поскольку хочу дкть возможность поисковикам увидеть , что жта ссылка ведет на такую страницу.
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@Froggyweb
.stopPropagation()
Ответ написан
Комментировать
aveyda7
@aveyda7 Автор вопроса
Photoshop
Ответ крылся здесь, многие события порождают выполнение связанных с ними действий. Например, сразу после того, как на ссылке происходит событие клик, происходит переход на другую страницу. Чтобы отменить выполнение этих действий, можно внутри обработчика события вызвать event.preventDefault(). Конечно, не все события порождают дополнительные действия, а так же, не все действия могут быть предотвращены
$('body').on('click','.ajax_post', function (event) {
event.preventDefault();
// далее Ваш обработчик.
}

или

// ищем все ссылки и вешаем события на все ссылки в нашем документе
$(document).on('click', 'a.ajax', function() {
// заносим ссылку в историю
history.pushState(null, null, this.href);

// тут можете вызвать подгрузку данных и т.п.

// не даем выполнить действие по умолчанию
return false;
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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