2014-10-10 151 views
0

我有幾個鏈接,當他們之一被點擊,如「史詩」,那麼每個具有相同類名稱的div將保留,其他將被過濾出。自定義javascript不會觸發當點擊html選項標記

通常它的工作原理,但即時通訊嘗試一個新的系統。當我點擊一個選項時,我不想點擊鏈接,而是希望前面提到的鏈接被觸發。不幸的是它不起作用。與數據過濾器關聯的元素不會被過濾。當鏈接但是它的工作原理燦爛工作:

你可以看到運行中的功能在現場即時測試的朋友:http://rolfvohs.com/

我認爲這個問題是E(「濾波器按鈕選項。」) 。點擊(函數(){雖然我不知道爲什麼。也許我失去了一些東西。

我會很樂意爲一些答案作爲即時通訊非常絕望了。我不能想出解決辦法。

<select class="cd-select"> 
         <option value="-1" selected>Pick a Genre</option> 
         <option value="1" data-filter="*">All</option> 
         <option value="2" data-filter=".epic">Epic</option> 
         <option value="3" data-filter=".classic">Classic</option> 
         <option value="4" data-filter=".pop">Pop</option> 
         <option value="5" data-filter=".rock">Rock</option> 
        </select> 

我的自定義JavaScript

jQuery(document).ready(function(e) { 

     var t = e("#filter-container"); 
     t.imagesLoaded(function() { 
      t.isotope({ 
       itemSelector: "figure", 
       filter: "*", 
       resizable: false, 
       animationEngine: "jquery" 
      }) 
     }); 
     $("select").on("change", function() { 
      var n = e(this).parents(".filter-buttons"); 
      var r = e(this).attr("data-filter"); 
      t.isotope({ 
       filter: r 
      }); 
      return false 
     }); 
     e(".toggle-trigger").click(function() { 
      e(this).next().toggle("slow"); 
      e(this).toggleClass("active"); 
      return false 
     }).next().hide(); 
     e(window).resize(function() { 
      var n = e(window).width(); 
      t.isotope("reLayout") 
     }).trigger("resize") 
    }) 
+1

選項,不用在所有瀏覽器點擊事件。在選擇上使用onchange。 – epascarello 2014-10-10 15:53:06

+0

@epascarello hello epascarello。你在換什麼意思?你能告訴我一個例子嗎? – Steve 2014-10-10 15:53:55

+0

'$(「select」)。on(「change」,function(){console.log($(this).val());});' – epascarello 2014-10-10 15:55:23

回答

0

選項,不用在大多數瀏覽器點擊事件。您需要監聽select上的更改事件。

根據討論的意見,更新的代碼

$("select").on("change", function() { 
    var select = $(this); 
    var selectedOption = select.find("option:selected"); 
    var n = select.parents(".filter-buttons"); 
    var r = selectedOption.attr("data-filter"); 
    t.isotope({ 
     filter: r 
    }); 
    return false 
}); 
+0

我現在就試試看,並讓你知道 – Steve 2014-10-10 16:08:07

+0

它的工作原理。親愛的epascarello,如果你不介意你能解釋一下它們之間的區別以及它們的作用嗎? – Steve 2014-10-10 16:12:57

+0

區別?它選擇選項標籤以獲取數據屬性,您正在查看select。 – epascarello 2014-10-10 16:13:56

相關問題