Корректное детектирование поддержки 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, время: 04:50. |