2012-06-22 16 views
6

हमारे पास एक बहुत ही जेएस गहन वेब एप्लिकेशन है, जो मुख्य रूप से jQuery के live बाइंडिंग के आसपास आधारित है (वास्तव में हम इसे jQuery v1.7 से पहले बना रहे हैं)।क्रोम में jQuery इवेंट डिबगिंग

Chrome की देव उपकरण में बनाया महान हैं, लेकिन वहाँ एक समस्या यह है कि होने वाली रहती है कि मैं हमेशा उनके साथ डिबग करने के लिए लगभग असंभव लगता है: कभी कभी मेरे live संचालकों पहले के एक संचालक घटना बुदबुदाती रोक की वजह से कहा जाता है नहीं कर रहे हैं।

वहाँ jQuery पुस्तकालय के कोड के बाहर अगले ईवेंट हैंडलर पर को तोड़ने के लिए किसी भी तरह से मैं क्रोम बता सकते है (या वास्तव में Firebug या अन्य एक्सटेंशन या बुकमार्कलेट (अधिमानतः मुफ्त!))। इस तरह से मैं बस बटन पर क्लिक कर सकता हूं और देख सकता हूं कि फायरिंग के दौरान कौन सी घटना, चरणबद्ध हो और देखें कि जब मैं गलती से प्रचार को रोक रहा हूं?

यदि नहीं, तो क्या कोई अच्छा कारण नहीं है? क्या यह किया जा सकता है?

उत्तर

3

Chrome DevTools में आप ईवेंट प्रकार के अनुसार एक ब्रेकपाइंट सेट कर सकते हैं:

https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#listeners

आप jQuery घटनाओं हालांकि बाहर नहीं कर सकते।

BTW आप लाइव()

+0

मैंने कोशिश की है और संघर्ष कर रहा हूं। यह सिर्फ jQuery लाइब्रेरी के कोड में कदम होगा। मुझे jQuery लाइब्रेरी का हिस्सा नहीं मिल रहा है जो आपके द्वारा दिए गए ईवेंट फ़ंक्शंस को कॉल (या लागू) करता है। मुझे नहीं लगता कि 'प्रतिनिधि' में बदलने का कोई फायदा है या नहीं, क्योंकि उन्हें सभी को डीओएम पेड़ के शीर्ष पर होना चाहिए (शायद बहुत कम नहीं होगा)। इसके अलावा दोनों कार्य अब बहिष्कृत हैं। जब हमारे पास समय होता है, तो हम ['on'] पर जा रहे हैं (http://api.jquery.com/on/) – Connell

+0

प्रतिनिधि को बहिष्कृत कर दिया गया है, इसे –

+0

द्वारा प्रतिस्थापित किया गया है क्योंकि यह धागा लिखा गया था देवतुल्स टीम ने ब्लैकबॉक्स स्क्रिप्ट्स की क्षमता भी पेश की, जो वास्तव में इस तरह की चीजों के साथ मदद करता है। Https://developer.chrome.com/devtools/docs/blackboxing देखें – Thomas

7

आप पा सकते हैं के बजाय delegate का उपयोग करना चाहिए इस उपयोगी: http://www.sprymedia.co.uk/article/Visual+Event+2

जावास्क्रिप्ट बुकमार्कलेट दृश्य घटना कहा जाता है जो नेत्रहीन है कि घटनाओं के लिए उन्हें की सदस्यता ली है उन्हें पृष्ठ के तत्वों से पता चलता , ये घटनाएं क्या हैं और फ़ंक्शन ट्रिगर होने पर फ़ंक्शन चलाएगा ...

यह पता चला है कि डब्ल्यू 3 सी द्वारा प्रदान की गई कोई मानक विधि नहीं है, यह जानने के लिए कि कौन सा ईवेंट श्रोताओं ar ई एक विशेष नोड से जुड़ा हुआ है .... ऐसे में हमें व्यक्तिगत जावास्क्रिप्ट पुस्तकालयों को देखने के लिए मजबूर होना पड़ता है, जो आम तौर पर संलग्न घटनाओं के कैश को बनाए रखते हैं (इसलिए उन्हें बाद में हटाया जा सकता है और अन्य उपयोगी abstractions)।

1

डीजी प्रतिक्रिया के अतिरिक्त, यह दृश्य घटना के Chrome Extension है। पूरी तरह से काम करें

संबंधित मुद्दे