Мне нужно открыть меню, когда я нависаю над div, когда ширина окна выше 768 пикселей, и меню также открывается, когда я щелкните диапазон, когда ширина окна 768px ниже (этот диапазон скрыт выше мобильного). У меня возникают проблемы, когда щелчок или зависание переносится между двумя размерами экрана (0-768 пикселей и 769 и выше).Как активировать выпадающие списки: нажмите ниже ширину 768 пикселей на один элемент и наведите курсор над 768px на другой элемент
I set up a jsfiddle with an example of what I have so far.
А вот JQuery Я использую:
function subNavDropdowns(width){
if (width <= 767) {
$('span').click(function(e) {
$(this).parent().siblings().children('ul').removeClass('visible');
$(this).parent().children('ul').toggleClass('visible');
e.stopPropagation()
});
} else {
$('div').hover(function(f) {
$(this).parent().siblings().children('ul').removeClass('visible');
$(this).parent().children('ul').toggleClass('visible');
f.stopPropagation()
});
}
}
$(function() {
var onLoadWidth = $(window).width();
subNavDropdowns(onLoadWidth);
$(window).resize(function() {
var resizeWidth = $(window).width();
subNavDropdowns(resizeWidth);
});
})
Я решил эту проблему до (висения на рабочем столе, и нажмите кнопку на мобильном телефоне), добавив функцию (е) и e.stopPropagation(), но они всегда были, когда наведите указатель мыши на один элемент. Теперь, когда я пытаюсь сделать это на клик для диапазона на мобильном устройстве и наведите указатель на div на рабочем столе, у меня возникают проблемы.
Это не может решить вашу проблему полностью, но для хорошей меры я бы убедиться, чтобы поставить функцию в '$ (документ) .ready() ', поскольку вы имеете дело с элементами, которые будут загружены в DOM. –