четверг, августа 13, 2009

Invalid Explorer: cursor: pointer для area

О глюках Эксплорера написаны целые энциклопедии. Я тоже начал собирать свою. Мини. Напарываюсь на глюки регулярно, каждый раз вспоминаю, что там надо делать для обхода. Придётся вести реестр. Для себя же.

Установка свойства CSS cursor для map - area. Не устанавливается. Проблема не так велика, поскольку area почти всегда является линком, и палец над ней возникает сам собой. В Майкрософте решили этим удовлетвориться. О том, что могут быть активные области без линков, управляемые яваскриптом, они не подумали.

Обход: как в прошедшем XX веке, задавать свойство pointer всей родительской картинке по onmouseover и восстанавливать по onmouseout. Я думал, те дремучие времена навсегда забыты. У МS никто не забыт... и ничто не забыто.

...img src="img/buttons.png" id='btns'...

...area shape="rect" coords="129,74,334,99" onclick="page('skills')" onmouseover="setPtr()" onmouseout='resetPtr()'...

function setPtr() {
$('#btns').css('cursor','pointer');
}

function resetPtr() {
$('#btns').css('cursor','auto');
}

Если при этом не использовать jQuery, вообще можно рехнуться. Придётся писать разные яваскрипты для разных браузеров, и для разных версий Эксплорера тоже.

Комментариев нет:

Поиск по этому блогу