Как насчет случая, когда ссылки генерируются во время использования страницы?Это часто происходит с современными более сложными интерфейсами.
Правильное решение, вероятно, заключалось бы в том, чтобы поместить прослушиватель события click в документ.Это связано с тем, что события в элементах распространяются на их родителей, и потому что на ссылку фактически воздействует самый верхний родительский элемент.
Это будет работать для всех ссылок, независимо от того, загружены они со страницей или генерируются динамическипередний конец в любой момент времени.
function interceptClickEvent(e) {
var href;
var target = e.target || e.srcElement;
if (target.tagName === 'A') {
href = target.getAttribute('href');
//put your logic here...
if (true) {
//tell the browser not to respond to the link click
e.preventDefault();
}
}
}
//listen for link click events at the document level
if (document.addEventListener) {
document.addEventListener('click', interceptClickEvent);
} else if (document.attachEvent) {
document.attachEvent('onclick', interceptClickEvent);
}