javascript
  • jquery
  • css
  • jquery-mobile
  • 2014-06-17 28 views 0 likes 
    0

    我试图禁用点击和添加一个类到JQM中的导航栏项目。点击行为很容易防止,但我有一个大脑放屁试图找出如何防止将ui-btn-active类应用到clicked元素。我只需要在当前===“输入新的”或当前===“输入统计数据”时阻止点击行为防止添加一个类,同时防止点击

    防止点击很容易,但我似乎无法弄清楚如何防止类被阻止即使点击和导航被阻止也会被添加。

    $(document).on("pageshow", "[data-role='page']", function() { 
        var current = $(this).jqmData('title'); 
        $("[data-role='header'] h1").text(current); 
        $("[data-role='navbar'] a.ui-btn-active").removeClass("ui-btn-active"); 
    
        // Add active class to current nav button 
    
        $("[data-role='navbar'] a").each(function() { 
         if ($(this).attr('data-id') === current || $(this).attr('data-alt') === current) { 
          $(this).addClass('ui-btn-active'); 
         } 
        }); 
    
        if (current === "Enter New" || current === "Enter Stats") { 
         $("[data-role='navbar'] a").click(function() { 
          event.preventDefault(); 
         }); 
        }; 
    }); 
    

    回答

    1

    你必须做其他的方式:

    $("[data-role='navbar'] a").click(function() { 
        if (current === "Enter New" || current === "Enter Stats") { 
         event.preventDefault(); 
        } 
    }); 
    
    1

    添加点击处理程序中的if()条件。

    $("[data-role='navbar'] a").click(function (event) { 
        if (current === "Enter New" || current === "Enter Stats") { 
         event.preventDefault(); 
        } 
    
    }); 
    
    +0

    这不是一个点击处理程序其循环'.each()'。 – Jai

    +0

    和我一样。+ 1 – Jai

    +0

    这就是我所做的。它可以防止点击链接跟随链接,但它不会阻止点击另一个导航栏项目来应用ui-btn-active类。所以我留在同一页面,但其他页面的按钮在导航栏上突出显示。 – OliverJ90

    相关问题