11 августа 2011 г.

text-shadow для Internet Explorer

Привет, всем.

Лучшая из виденных мною реализаций свойства text-shadow в IE без использования JavaScript. Встречайте — CSS3 Text-Shadow – Can It Be Done in IE Without JavaScript? от Zoltan Hawryluk.
На сайте этого автора можно найти ещё интересные вещи.

Кроссбраузерные обработчики событий

addEvent() от Дина Эдвардса

Проверенное мной лаконичное решение. Использует DOM Level 0 Events и никакого feature detection'а. Когда мы вешаем обработчик с помощью addEvent() на элемент, в качестве свойства этого элемента добавляется объект events, внутри которого в массив добавляется функция-обработчик. Если этот массив уже существует, то к уже имеющимся обработчикам добавляются новые.

Из коробки при использовании функции removeEvent() необходимо указывать в качестве третьего аргумента ссылку на ранее установленный обработчик. Т.е. нет возможности удалять анонимные функции-обработчики. Но это легко исправляется слегка изменив функцию removeEvent():

function removeEvent(element, type, handler) { // delete the event handler from the hash table if (element.events && element.events[type]) { (!handler) ? delete element.events[type] : delete element.events[type][handler.$$guid]; } };

Теперь если мы не указали ссылку на функцию-обработчик в качестве третьего аргумента, то удаляются все обработчики заданного события.

Ссылки по теме