Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перехват перехода по адресу в ссылке (https://javascript.ru/forum/misc/43384-perekhvat-perekhoda-po-adresu-v-ssylke.html)

Dracul 03.12.2013 20:07

Перехват перехода по адресу в ссылке
 
1. Имеется html код, внутри которого имеются ссылки
2. При нажатии на любую из ссылок должна быть вызвана функция, которая: получает в параметре адрес, на который ссылалась ссылка, приостанавливает переход по адресу указанному в ссылке
3. Желательно без JQuery :-)
Буду благодарен если кто подскажет)))

lord2kim 03.12.2013 20:55

Цитата:

Сообщение от Dracul (Сообщение 284316)
1. Имеется html код, внутри которого имеются ссылки
2. При нажатии на любую из ссылок должна быть вызвана функция, которая: получает в параметре адрес, на который ссылалась ссылка, приостанавливает переход по адресу указанному в ссылке
3. Желательно без JQuery :-)
Буду благодарен если кто подскажет)))

<html>
<body>
<a href="http://javascript.ru">main</a><br>
<a href="http://javascript.ru/forum">main</a><br>
<a href="http://javascript.ru/book">main</a><br>
<script>
var d = document;
window.onload = function () {
	d.getElementsByTagName("body")[0].onclick = function (e) {
		var target = e && e.target || event.srcElement;
		if (target.tagName == "A") {
			alert(target.href);
			//return false;
			setTimeout(function () { lacation.href = target.href; }, 10000);
		}
	}
}
</script>
</body>
</html>


что вы имеете ввиду под
Цитата:

Сообщение от Dracul (Сообщение 284316)
приостанавливает переход по адресу указанному в ссылке

?

Dracul 03.12.2013 23:15

Я имел ввиду, что человек который кликнул на ссылку не должен перейти на ее адрес) Я так понимаю вместо
setTimeout(function () { lacation.href = target.href; }, 10000);
мне нужно вставить
return false;
или что-то более хитрое?)

lord2kim 04.12.2013 00:13

Цитата:

Сообщение от Dracul (Сообщение 284353)
Я имел ввиду, что человек который кликнул на ссылку не должен перейти на ее адрес) Я так понимаю вместо
setTimeout(function () { lacation.href = target.href; }, 10000);
мне нужно вставить
return false;
или что-то более хитрое?)

достаточно
return false;


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