2009-10-09 2 views
0

для сортировки таблицы на HTML-гиперссылке Я использую JavaScript:IE6: JavaScript гиперссылка не работает

такого рода от низкого до высокого уровня:

<a id="asc" href="#" onclick="javascript:sort('asc');">Low</a> 

Он отлично работает в Firefox/Chrome/Safari, но не работает в IE6.

Live site here.

Нажмите Роде "High" или Сортировка "Low" ссылка.

Любая идея, почему она работает во всех браузерах, но IE6?

Основная причина, по-видимому, в том, что IE6 не меняет стрелку курсора на маленькую руку, чтобы гипертекст был даже кликабельным. Прямо сейчас, когда я наведите курсор мыши на ссылки с IE6 - Рода ссылки не являются даже интерактивными

Кроме того, моя страница проходит w3 validation, так что это не проблема

+4

Потому что это IE6 ... Теперь ... если он * работал *, это было бы озадачивающим! – KyleFarris

ответ

1

Try:

<a id="asc" href="javascript:void(0)" onclick="displayHomeListings('asc');"> 

Или

<a id="asc" href="#" onclick="displayHomeListings('asc');"> 

В идеале, ваш клик по-прежнему будет делать что-то разумное, если JavaScript отключен в браузере пользователей. В этом случае

<a id="asc" href="failsafe.html" onclick="displayHomeListings('asc'); return false;"> 

Обратите внимание на возврат false в конце onclick. Остановить href от посещения, если JS преуспеет. См. this SO сообщение относительно дальнейшего обсуждения этой темы.

EDIT:

Теперь с дополнительной информацией в вашем вопросе о руке/курсоре:

Если курсор не меняется на руку при наведении курсора, это говорит о том, чтобы мне у вас есть какие-то недействительна HTML и IE6 не удается проанализировать страницу так, как вы ожидаете. Вы пытались запустить его с помощью проверки HTML? Попробуйте http://validator.w3.org/.

+0

Нет, не устраняет проблему. Странно то, что в IE6 курсор, нависший над ссылками, остается стрелкой и никогда не меняется на маленькую руку.Это похоже на то, что IE6 даже не знает, что это ссылка. –

+0

сделал редактирование - возможно, попробуйте второй вариант использования с #? Обратите внимание, что у меня нет javascript: в строке onclick. – Matt

+0

У меня нет браузера IE6, и я обычно не посещаю tinyurls, не зная, что за ними стоит, но возможно, что IE6 не работает в JS displayHomeListings() или даже где-то еще. Это немного более хрупкий w/JS, чем более новые браузеры. – Matt

1

Не уверен, что вы против использования jquery, но имеет тенденцию выработать много этих несовместимостей между браузерами.

http://jquery.com

Просто мысли.

Но, просто добавить к тому, что говорит Мэтт, вы можете попробовать эту опцию (она обычно работает в IE):

<a id="asc" href="javascript:displayHomeListings('asc'); void(0);">link</a> 

(только помните, что это не будет работать для людей без JavaScript. .. он просто ничего не сделает ...)

+0

Нет. Корневая проблема заключается в том, что IE6 не меняет стрелку курсора на маленькую руку, чтобы гипертекст был доступен кликабельно. –

+0

OHHHH ... это может быть проблема с CSS. IE6, как известно, плохо в CSS. Убедитесь, что нет элементов 'position: absolute', охватывающих ссылку. Раньше у меня была эта проблема. На самом деле, я думаю, что ответил на вопрос об этом раньше. – KyleFarris

+0

Это может быть ваш элемент 'tabbernav'. – KyleFarris

Смежные вопросы