Помог совет Евгения, но допёр как всё сделать, я не сразу. В итоге получился вот такой код:
// Проверка на тач девайсы
function is_touch_device() {
return !!('ontouchstart' in window);
}
if (is_touch_device() == true){
// Функция меню для тач девайсов
$('.menu-fallback').on('touchstart click', function(e) {
// Если нету класса active
if (!$(this).hasClass('active')){
// Если у пункта есть подменю, отключить ссылку
if ($(this).children().is('.fallback')){
e.preventDefault();
}
// Если есть другие активные пункты, отключаем их
$('.menu-fallback.active').each(function () {
$(this).find('.fallback').stop().slideUp('fast');
$(this).removeClass('active');
});
// Делаем активным текущий пункт
$(this).find('.fallback').stop().slideDown('fast');
$(this).addClass('active');
}
});
}
// для мыши
else{
$('.menu-fallback').hover(function () {
$(this).find('.fallback').stop().slideDown('fast')
$(this).addClass('active');
}, function () {
$(this).find('.fallback').stop().slideUp('fast');
$(this).removeClass('active');
});
}