Jquery 鼠标悬停功能不工作?

Jquery 鼠标悬停功能不工作?,jquery,Jquery,当屏幕尺寸小于768时,我想禁用mouseover和mouseleave选项。一切看起来都很好,但代码不起作用。有什么建议吗??n当屏幕大小大于768时,我只希望鼠标悬停选项起作用 myscript.js $(document).ready(function() { if ($(window).width() > 768) { $('.dropdown').mouseover(function()

当屏幕尺寸小于768时,我想禁用mouseover和mouseleave选项。一切看起来都很好,但代码不起作用。有什么建议吗??n当屏幕大小大于768时,我只希望鼠标悬停选项起作用

myscript.js

$(document).ready(function() 
    {
        if ($(window).width() > 768) 
        {
                    $('.dropdown').mouseover(function()
                    {
                        $('.dropdown-toggle', this).next('.dropdown-menu').show();
                    }).mouseout(function()
                    {
                        $('.dropdown-toggle', this).next('.dropdown-menu').hide();
                    });
        }
                else 
                {
                    $('.dropdown').off('mouseenter mouseleave');
                }
          $('.dropdown-toggle').click(function() 
            {
                if ($(this).next('.dropdown-menu').is(':visible')) 
                {
                    window.location = $(this).attr('href');
                }
            });
    });

    $(window).resize(function()
    {
    if ($(window).width() > 768) 
        {
                    $('.dropdown').mouseover(function()
                    {
                        $('.dropdown-toggle', this).next('.dropdown-menu').show();
                    }).mouseout(function()
                    {
                        $('.dropdown-toggle', this).next('.dropdown-menu').hide();
                    });
        }
                else 
                {
                    $('.dropdown').off('mouseenter mouseleave');
                }
          $('.dropdown-toggle').click(function() 
            {
                if ($(this).next('.dropdown-menu').is(':visible')) 
                {
                    window.location = $(this).attr('href');
                }
            });
    });

如果有帮助,请尝试以下代码:)

$(文档).ready(函数(){
$('.dropdown').mouseover(函数(){
dropDownToggleShowHide(此项为false);
}).mouseout(函数(){
dropDownToggleShowHide(这是真的);
});
$('.dropdown toggle')。单击(函数(){
if($(this).next('.dropdown menu')。是(':visible')){
window.location=$(this.attr('href');
}
});
});
函数下拉切换显示隐藏(el,隐藏){

如果($(window).width(),您应该使用CSS媒体查询。关于您的代码,您的逻辑是错误的,您正在这里嵌套事件。您应该只检查
$(window).width()
(或者更好地使用
window.matchMedia()
)在mouseover/mouseout事件内部。顺便说一句,使用
mouseenter
会更相关,我猜请检查此链接
$(document).ready(function() {
    $('.dropdown').mouseover(function() {
        dropDownToggleShowHide(this, false);
    }).mouseout(function() {
        dropDownToggleShowHide(this, true);
    });
    $('.dropdown-toggle').click(function() {
        if ($(this).next('.dropdown-menu').is(':visible')) {
            window.location = $(this).attr('href');
        }
    });
});



function dropDownToggleShowHide(el, hide){
    if ($(window).width() <= 768) {
        return;
    }
    if(hide){
        $('.dropdown-toggle', el).next('.dropdown-menu').hide();    
    }
    else{
        $('.dropdown-toggle', el).next('.dropdown-menu').show();
    }
}