Показать сообщение отдельно
  #10 (permalink)  
Старый 17.02.2010, 16:33
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Kolyaj,
не согласен. Формально это все-таки текстовый якорь. Ну а насчет «легитимности» ссылки, которая никуда не ведет… Пользователь привык, что ссылка — это место, по которому нужно кликнуть, и что-то произойдет. Кстати, для того, чтобы разделять обычные и яваскриптовые ссылки, у последних делают подчеркивание пунктирное.

Ну, а если для яваскриптовых ссылок использовать отдельный класс, все будет намного проще:
<style>
	a.js-link {
		text-decoration: none;
		border-bottom: dashed 1px;
	}
</style>
<script type="text/javascript">
	anchorWatcher = function(e){
		if (!e){
			e = window.event
		};
		var trigger = e.srcElement || e.target;
		while (trigger){
			if (trigger.tagName && trigger.tagName.toLowerCase() == "a") break;
			trigger = trigger.parentNode;
		};
		if (!trigger) return;
		if (/(^|\s)js-link(\s|$)/.test(trigger.className)){
			if (e.preventDefault) e.preventDefault();
			if (e.returnValue) e.returnValue = false;
		};
	}
	if (document.addEventListener){
		document.addEventListener('click', anchorWatcher, false);
	} else if (document.attachEvent){
		document.attachEvent('onclick', anchorWatcher);
	} else {
		document.onclick = anchorWatcher;
	};
</script>

<p><a href="#">Я обычная ссылка</a></p>
<p><a href="#" class="js-link">А я ссылка яваскриптовая</a></p>
Ответить с цитированием