Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как всем ссылкам в блоке присвоить onClick и в href поставить # (https://javascript.ru/forum/dom-window/79450-kak-vsem-ssylkam-v-bloke-prisvoit-onclick-i-v-href-postavit.html)

Nexus 12.02.2020 13:52

A.User, у вас должна была в консоль падать ошибка "Illegal return statement", т.к. return используется вне функции.

Рабочий вариант, который можно где угодно поместить:
function goUrl(url) {
    alert(url);
}

document.addEventListener('DOMContentLoaded', function () {
    var container = document.querySelector('.pages');
    if (!container) {
        return;
    }

    container.querySelectorAll('a[href]').forEach(function (node) {
        var href = node.getAttribute('href');

        node.addEventListener('click', function (e) {
            e.preventDefault();

            goUrl(href);
        });

        node.href = '#';
    });
});

A.User 12.02.2020 14:06

if(container == null) сработало


Часовой пояс GMT +3, время: 12:50.