2014-11-13 56 views
1

我有以下JS與元素'.snap_img'與Hammer.js JQuery插件上的doubletap事件。Hammer.js與JQuery插件沒有觸發事件

$("body").hammer().on('doubletap','.snap_img',function() { 
    img_src = (this).getAttribute('src'); 
    alert(img_src); 
    return false; 
}); 

元素'.snap_img'是由AJAX post()請求動態創建的。因此,我需要事件代表團才能開火錘事件。這個js是基於這段代碼成功觸發的動態加載.snap_img元素click事件:

$("body").on('click','.snap_img',function() { 
    img_src = (this).getAttribute('src'); 
    alert(img_src); 
    return false; 
}); 

我如何用鐵錘jQuery插件工作的代碼?我想解決方案應該與這個問題中的第二段代碼非常相似,但我似乎無法弄清楚。

+0

所以沒有人知道呢? –

回答

0

如果您正在使用Hammer,你可以嘗試這樣的事:

var i = 0 
$('.snap_img').get(0).hammer().on('doubletap', function(e) { 
    i++ 
    console.log('double tap' + i) 
}) 
+0

使用jQuery來標識元素時,必須使用Hammer.JS jQuery插件樣式。所以它可以是$('。snap_img')。get(0).hammer()。on(...);'用於jQuery插件或'Hammer(document.getElementsByClassName('。snap_img')[0])。 on(...);'對於非jQuery。否則會發生錯誤。請參見[hammer.js對象沒有方法addEventListener](https://stackoverflow.com/q/28191732/5223047) – ltlBeBoy