单击手机即可触发Jquery触发器,将鼠标悬停在桌面上

时间:2017-04-05 18:41:38

标签: jquery css mobile resize window

尽管我多次看到这个问题,但我还是找不到答案。 基本上我有一个下拉菜单,我正在尝试添加事件,以便在桌面上悬停并点击移动设备时打开它。

我尝试使用这段代码,但是在我调整窗口大小后它会以某种方式工作(它不会立即检查,但如果我调整窗口大小,这显然与给定的代码有关,但我怎么能编辑它)

    $(window).on('resize', function(event){
    var windowSize = $(window).width(); // Could've done $(this).width()
    if(windowSize < 300){
        $('.menu-button').addClass('bbb');
    } else if(windowSize < 768){
        $('.dd-mlink').click(function() {
            $(this).toggleClass('show');
            $('.dd-nav').toggleClass('dd-nav-full');
            $('.dd-menu').toggleClass('dd-menu-full');
        });
    } else {
        $('.dd-mlink').hover(function() {
            $(this).toggleClass('show');
            $('.dd-nav').toggleClass('dd-nav-full');
            $('.dd-menu').toggleClass('dd-menu-full');
        });
    }
});

.dd-mlink是我的触发器,它是一个垂直的全宽下拉列表,所以我需要更多的toggleClasses。

还有其他选择吗?更高效? 任何能为我工作的图书馆?

我尝试了很多方法,包括创建一个div,在不同的大小上添加不同的属性(使用媒体查询),并检查这些属性,但它不起作用。 任何帮助将非常感激。干杯!

1 个答案:

答案 0 :(得分:1)

我实际上通过在该窗口功能上调整大小旁边的加载来解决这个问题,就像这个

io.on('connection', function(socket) {
    socket.on("event2", function(data) {
        sendToClient1(data, function(result){  
        io.to(socket.id).emit("emit_test" , JSON.stringify(data)); // this works
        });

        sendToClient2(data, function(result){  
        io.to(result).emit("emit_test" , JSON.stringify(data)); // this does not work
        });

    });

    sendToClient2:function(data, func){
        red_client.get(data, function(err, reply){
        console.log(reply);
        func(reply);
    });
});

这是代码,如果有人会使用

$(window).on('load resize', function(event){

您可以添加任意数量的elses。 干杯。有一个好的