javascript
  • jquery
  • css
  • jquery-mobile
  • 2014-06-17 29 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

    相關問題