2012-04-17 10 views
6

Harika bir küçük komut dosyası olan Hammer.js (https://github.com/eightmedia/hammer.js) kullanmaya başladım, ancak jQuery's .on() olay işleyicisini kullanarak olayların nasıl dağıtılacağını bilmiyorum.jQuery ile Delegating Hammer.js olayları

Burada biraz jsfiddle örnek kurdum: Hiç soruya bir cevap bulursa

var i = 0; 
// How would I apply hammer to this situation? 
$('nav').on('click', 'button', function() { 
    $('<button id="' + i + '">Extra button ' + i + ' (' + $(this).attr('id') + ')</button>').appendTo('nav'); 
    i++; 
}); 

cevap

3

http://jsfiddle.net/will/3dUKu/1/ bilmiyorum. Çözüm basit ve iki bölümdür. İlk olarak, jQuery ile aramaları kullanmaya çalıştığınız için Hammer'in jQuery eklenti sürümünü kullanmalısınız. jQuery eklentisi bir güncel sürümü adresinde bulunabilir:

http://eightmedia.github.io/hammer.js/dist/jquery.hammer.min.js

ikinci bölümü nesne seçimi ile Hammer yöntemi kullanmak gerekir olduğunu. Bunu, Çekiç çağrısını seçiciyle ciltleme arasına yerleştirerek yaparsınız. böylece gibi:

jQuery nesnesi:

$('nav').on('click', 'button', function(){ 
    /* ... */ 
}); 

jQuery Çekiç nesnesi: bu kadar

$('nav').hammer().on('click', 'button', function(){ 
    /* ... */ 
}); 

... Bu son hammerjs .. $ benim için çalışmıyor

+0

('.parent'). hammer(). on ('tap', '.child', function() { console.log ('hafifçe'); }); –

+0

Tüm 'jQ' eklentisi, bir Çekiç örneğini başlatır ve bunu öğeye ekler. Aslında olay heyetine yardımcı oluyor gibi görünmüyor. – Lambart

İlgili konular