a: активная проблема в ie6 - PullRequest
1 голос
/ 25 июня 2009

У меня есть несколько вопросов об изменении класса / состояния ссылки на нормальный в ie6. Я использую: active, чтобы изменить фон пролета, когда пользователь нажимает на него. Цель ссылки установлена ​​в javascript: void (0), поэтому нажатие на ссылку просто вызывает функцию JS, которая у меня есть. Однако, когда пользователь отпускает кнопку мыши, состояние a: active, которое необходимо удалить для ссылки, фон снова становится нормальным, а в ie6 - нет. Сохраняет подавленный фон, который я установил в: active.

У кого-нибудь есть предложения как это исправить?

Ответы [ 2 ]

4 голосов
/ 25 июня 2009

В IE6 «активный» иногда аналогичен «сфокусированному». Объект DOM будет оставаться «активным», пока другой элемент не получит фокус, или пока он не будет размытым. Если вы добавите событие JavaScript onMouseUp в ссылку, которая вызывает blur(), она должна сбросить активное состояние, когда кнопка мыши отпустит:

<a href="whatever">Link!</a>
...
</body>
<script type="text/javascript">

    function handleMouseup() {
        window.event.srcElement.blur();
    }

    if(ie6) {
        var links = document.getElementsByTagName('a');
        for(var i=0;i<links.length;i++) {
            links[i].onmouseup = handleMouseup;
        }
    }
</script>

Это гарантирует, что вы можете использовать любой href, какой захотите (javascript: void (0), #, что угодно)

0 голосов
/ 25 июня 2009

Попробуйте использовать href = "#" в IE6, у меня была та же проблема, с использованием javascript: void (0) в большинстве ссылок и нормально работающей в IE7 и FF, поэтому запуск js специально для браузеров IE6 заменив javascript: void (0) на #, и теперь это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...