jQuery

2012-04-17 7 views
6

के साथ Hammer.js घटनाओं को प्रतिनिधि बनाना मैंने Hammer.js (https://github.com/eightmedia/hammer.js) का उपयोग करना शुरू कर दिया है जो कि एक बहुत छोटी लिपि है, लेकिन मुझे यकीन है कि jQuery के .on() ईवेंट हैंडलर का उपयोग करके ईवेंट का प्रतिनिधित्व कैसे करें।jQuery

मैं यहाँ एक छोटे से jsfiddle उदाहरण सेट कर लेते हैं: http://jsfiddle.net/will/3dUKu/1/

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++; 
}); 

उत्तर

3

अगर तुम कभी अपने प्रश्न का उत्तर मिल गया पता नहीं है। समाधान सरल और दो भाग है। सबसे पहले, चूंकि आप jQuery के साथ कॉल का उपयोग करने का प्रयास कर रहे हैं, तो आपको हैमर के jQuery प्लगइन संस्करण का उपयोग करना चाहिए। jQuery प्लगइन का एक वर्तमान संस्करण में पाया जा सकता:

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

दूसरे भाग आप वस्तु के चयन के साथ हैमर के विधि का उपयोग करने की जरूरत है। आप चयनकर्ता और बाध्यकारी के बीच हथौड़ा कॉल डालने से ऐसा करते हैं। इसलिए जैसा:

jQuery वस्तु:

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

jQuery हथौड़ा वस्तु:

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

यह है कि ...

+0

इस नवीनतम hammerjs .. $ के साथ मेरे लिए काम नहीं करता है ('.parent')। हथौड़ा()। ('टैप', '.child', फ़ंक्शन() { console.log ('टैप'); }); –

+0

सभी 'जेक्यू' प्लगइन यह 'हैमर' इंस्टेंस को तुरंत चालू करता है और इसे तत्व से जोड़ता है। ऐसा लगता है कि यह वास्तव में घटना प्रतिनिधिमंडल के साथ वास्तव में मदद करता है। – Lambart