I have a link list with namnes that loads a new page if you click on the li.
And besides the name I have a heart icon.
And when I click on the heart I want to prevent the default behavior on the link and just open an alert instead.
And if I click anywhere else on the li then it should load the page as expected.
Я не знаю, почему автор пометил данную тему как “решено”, только что протестировал: не работает. Роутер в любом случае переходит на другую страницу и это событие не остановить.
Пока такое решение: <a href="#" data-url="...">...</a>
Это не то, это про то, что роутер не будет обрабатывать ссылки, если они имеют класс prevent-router. В посте разговор про такое в F7:
<a href="/page1/">
<div>какой-то контент, клик по которому перебрасывает на /page1/</div>
<span @click="click">click me</span>
</a>
Задача: клик по span не заставляет router переходить на “/page1”. Google говорит, что для перехвата события (и это действительно работает) нужно делать так:
click: function (e) {
e.stopPropagation();
}
Событие действительно перехватывается, но роутер все же переходит на “/page1”. Возможно, ваше решение верное:
$$(document).on('click', '.fodelsedag', function (e) {
e.stopImmediatePropagation()
e.stopPropagation()
// pay attention to last "true" argument
}, true);