Корректное детектирование поддержки classList
Есть библиотечка для работы с DOM. В ней есть методы addCssClass, removeCssClass, toggleCssClass.
Вопрос, как правильно проверить поддержку classList? if (classListSupported) { exports.addCssClass = function ... ... } else { // old shit } Пока что использую поверку typeof DOMTokenList === "function" Надежно ли это? UPD: Оказалось что в IE10 typeof DOMTokenList === "object". Странная хрень. Ну ок, можно изменить сравнение на !== "undefined". |
Зачем так сложно?
alert("classList" in document.documentElement); |
melky, вроде бы и вполне логичный и напрашивающийся, но почему-то я его не рассмотрел (не знаю почему, возможно просто затупил).
Наверно его и нужно использовать. Он нагляднее и логичнее. Хотя возможно медленней по сравнению с моим. Но разница пренебрежимо мала, это уже надо быть параноиком чтоб делать выбор в этом случае исходя из скорости :) |
хех.. не стоит проводить муравьиную (мелкую) оптимизацию в тех случаях, которые один раз выполняются :)
|
Да, я знаю. Странно, но такое улучшение уже было в библиотечке год назад. И его тогда откатили назад. Странно, неужели есть какие-то серьзеные недостатки у него... Задал вопрос, жду ответа..
|
Часовой пояс GMT +3, время: 10:26. |