2014-04-20 3 views
0

У меня есть гиперссылки с onclick. Эти гиперссылки загружают содержимое с другой страницы в div.Как обрабатывать гиперссылки javascript, когда js отключен

Гиперссылка выглядит следующим образом:

<a href="http://www.page2.html" onclick="gotopage2();">page 2</a> 

и код у меня в голове разделе:

<script type="text/javascript"> 
function gotopage2(){ 
    window.location("page2.html"); 
} 

Но это не работает, как я хотел бы, чтобы это. Я бы хотел:

Если включен JavaScript, используйте onclick.
Если Javasccript отключен, используйте href.

проблема заключается в том, что размещение # в href позволит выполнить javascript, но если javascript отключен, у меня не будет возможности поместить URL-адрес в href!

Я не хочу, чтобы вы отправляли все гиперссылки на странице при загрузке документа и убирали href's, и мне не нравится использовать много. Разве нет лучшего способа сделать это?

+2

Могу ли я спросить, в чем смысл этого? (Кстати, чтобы отключить эффект 'href', просто сделайте [' e.preventDefault() '] (https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault) или даже 'return false') –

+0

Извините, эффект не такой, какой он есть. Когда я использую ссылку, javascript не обнаружен. Поэтому даже с включенным javascript это не работает, потому что у href есть URL-адрес. – uSeRnAmEhAhAhAhAhA

+0

Я не совсем понимаю, что вы имеете в виду, но вот демо: http://jsfiddle.net/DerekL/5bAfg/ –

ответ

1

Отменить действие по умолчанию для ссылки.

Если вы используете встроенные атрибуты событий, возвращайте false из них.

onclick="gotopage2(); return false;" 

Если вы пишете современный код, вызов preventDefault на объекте события.

<a href="http://www.page2.html">page 2</a> 

<script> 
function goToPage(evt) { 
    evt.preventDefault(); 
    window.location = this.href; 
} 
document.querySelector('a').addEventListener('click', goToPage); 
</script> 
Смежные вопросы