2016-06-29 62 views
1

我正在嘗試將press添加到jQuery選擇器。我在同一個文檔上有很多元素,所以我不能爲每個元素使用ID。我試過$(selector)[i]就像解釋herejQuery函數不能與Hammer.js一起工作

var selectProduct = $('.mh60 a'); 
for (var i = 0; i < selectProduct.length; i++) { 
    Hammer(selectProduct[i]).on("press", function() { 
    $(selectProduct[i]).addClass('active'); 
    }); 
} 

它沒有產生任何錯誤,不工作。我沒有得到我在這裏想念的東西。

而當我嘗試登錄selectProduct[i]console.log(selectProduct[i]);它給出undefined結果。

更新1

當我刪除的循環,只是用selectProduct[0]selectProduct[1],...它的工作,但與selectProduct[i],它不工作,所以我認爲問題是出在for循環。但我沒有明白。

UPDATE 2

我也試圖與jQuery plugin,同樣的問題

UPDATE 3

我再次與each()試過,同樣的問題。它打印控制檯消息,但addClass()不起作用。我想問題是this函數不返回當前元素。

$('.mh60 a').each(function(){ 
    var mc = new Hammer(this); 
    mc.on("press", function() { 
     console.log('Double tap!'); 
     $(this).addClass('active'); 
    }); 
}); 

回答

0

你的代碼最後,我用each功能

$('.mh60 a').each(function(){ 
    var mc = new Hammer(this); 
    var currentEle = $(this); 
    mc.on("press", function() { 
     currentEle.addClass('active'); 
    }); 
}); 
0

你爲什麼要用? 嘗試改變這樣

var selectProduct = $('.mh60 a'); 
selectProduct.Hammer().on("press", function() { 
    $(this).addClass('active'); 
}); 
+0

hammer.min.js解決了這個問題:6Uncaught類型錯誤:a.addEventListener不是一個函數 – NeosFox

+0

,而不是使用jQuery選擇器,嘗試用純js一 – Roxoradev

+0

我試過同樣的錯誤,你也可以檢查鏈接在這個問題上的另一個問題,可能是你得到的東西 – NeosFox

相關問題