768pxのウィンドウ幅を超えたときにdivにカーソルを置いたときに開くメニューが必要です。ウィンドウの幅が768px未満の場合はスパンをクリックします(このスパンはモバイルよりも上に隠れています)。私は、クリックまたはホバーが2つの画面サイズ(0-768pxおよび769およびそれ以上)の間で引き継ぐ問題を解決し続けます。ドロップダウンを有効にする方法:1つの要素で768px幅以下をクリックし、別の要素で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)とe.stopPropagationを追加することによってこの問題を解決しました()と同じですが、ホバーとクリックが同じ要素にあったときはいつもそうでした。今、私はモバイルでスパンのためのクリックでそれをやろうとしているし、デスクトップ上のdivのためのホバー、私は問題を抱えています。
:あなたがそれらを無効にしたいを行う場合は、ここでどのようにあなたができるのです() 'DOMの中にロードされる要素を扱っているからです。 –