[js] Удалить hover и focus стили для сенсорных устройств

/**
 * Проверка поддержки на устройстве нажатий
 *
 * @returns {boolean}
 */
function isTouchDevice() {
    return (('ontouchstart' in window) ||
        (navigator.maxTouchPoints > 0) ||
        (navigator.msMaxTouchPoints > 0) );
}

/**
 * Удаление hover и фокус из дерева стилей
 *
 * @param {function} isTouchDevice
 */
function removeTouchStyles(isTouchDevice) {
    if(!isTouchDevice())return;
    const styleSheet = document.styleSheets[0];

    for (let ri = styleSheet.cssRules.length - 1; ri >= 0; ri--) {
        if (!styleSheet.cssRules[ri].selectorText) continue;

        if (styleSheet.cssRules[ri].selectorText.match(/[:](hover|focus)/g)) {
            styleSheet.deleteRule(ri);
        }
    }
}

removeTouchStyles(isTouchDevice);