У меня есть некоторые элементы на странице с пользовательским интерфейсом аккордеона / табуляции, и когда пользователь щелкает один из них, он открывается, а также прокручивает его в верхней части страницы из-за привязки в href
,Я хочу остановить это прыгательное поведение только . Это пример такого элемента;
<a class="data switch" tabindex="-1" data-toggle="trigger" href="#description" id="tab-label-description-title">
More info
</a>
Поскольку этот элемент связан со всеми видами вещей, связанных с CMS и UIX, я не могу изменить значение href
, как предлагает большинство ответов на подобные вопросы.
Итак, я попробовал с JavaScript / jQuery что-то вроде этого;
$('.data.switch').on('click', function(e) {
e.stopPropagation();
});
Это останавливает переход к элементу, но также останавливает все остальное, делая элемент вообще не функционирующим. Итак, мой вопрос:Есть ли какой-то вариант действия stopPropagation
, который запрещает переход только к элементу привязки?
edit Я думаю здесь вслух;как stopPropagation
или preventDefault
останавливает все всплывающие действия, разве нет способа указать только прокрутку? Или, возможно, это обходной путь, при котором при нажатии он читает текущую позицию прокрутки и заставляет оставаться в этой позиции (хотя это выглядит очень хакерски) ..?