Каков самый простой и элегантный способ имитации псевдокласса зависания для тегов без привязки в IE6?
Я специально пытаюсь изменить курсор в этом случае на указатель.






Я думаю, что самый простой способ - использовать подход hover.htc. Вы добавляете файл hover.htc на свой сайт, а затем ссылаетесь на него в своей таблице стилей:
body { behavior:url("csshover.htc"); }
Если вы хотите, чтобы все было как можно более чистым, вы можете использовать условные комментарии IE, чтобы эта строка отображалась только для пользователей с IE6.
Другой подход, в зависимости от того, что это за элемент, - это добавить якорь без ссылки и настроить его отображение на блокировку. Поместите якорь внутри или вокруг элемента, для которого вы хотите использовать псевдо-наведение.
Я бы сказал, что самым простым способом было бы добавить функции onmouseover / out Javascript.
Но «имитировать псевдокласс при наведении курсора для тегов, отличных от привязки в IE6» просто так, и это вопрос, на который я отвечал. Когда люди ищут ответ на «IE, не привязанный к привязке», «использовать курсор: указатель» вообще не поможет.
Реализацию этого решения на jQuery можно найти по адресу blog.delivi.com/javascript/…. Этот фрагмент можно легко изменить для использования с другими фреймворками JavaScript или обычным JavaScript. одним большим преимуществом этого скрипта является то, что он не требует htc, поэтому нет недопустимого css и будет анализироваться и выполняться только с помощью ie6, поэтому вы не заметите никакой разницы в производительности в других браузерах.
Мне больше всего понравился наведение / отключение мыши, так как на самом деле мне все равно нужно было поменять изображение местами. Мне действительно следовало подумать о том, чтобы сделать это с помощью javascript для начала.
Спасибо за быстрые ответы.
@ Джозеф
Спасибо за ссылку. Я никогда раньше не слышал об этой технике, и мне очень нравится идея.
Я обязательно попробую это и посмотрю, как я с этим справлюсь.
В стороне:
I actually already needed to swap the image anyhow
Обязательно посмотрите на Спрайты изображений. Иногда гораздо лучше использовать одно изображение и «сдвигать» изображение, чем использовать два отдельных изображения и «переключаться» или «переключаться» между ними. По моему опыту, было очень приятно, когда пользователь взаимодействует с ним, иногда преимуществом является то, что есть один запрос для одного изображения, а затем несколько запросов для нескольких изображений.
Что касается вашего запроса - Я специально пытаюсь изменить курсор в этом случае на указатель - самый простой способ - указать cursor:pointer в вашем css. Я думаю, вы обнаружите, что это работает в IE 6.
Попробуйте это проверить (где div может быть любым элементом):
<div style = "background:orange; cursor:pointer; height:100px; width:100px;">
Hover
</div>
Я проголосовал за вас, потому что вы прочитали вопрос, который, похоже, является другим подходом к другим пользователям :)
О, и я тестировал это в IE6, IE7, Firefox 3, Safari и Google Chrome, и, конечно же, он отлично работает.
Если вы хотите использовать JQuery, я бы использовал технику Установить класс наведения для чего угодно.
Другой альтернативой, которая исправит гораздо больше проблем за один раз, является использование IE7.js.
«специально пытается изменить курсор» не требует JavaScript. Просто используйте это правило CSS: cursor: pointer;