2012-06-18 17 views
7

मुझे लगता है कि datepicker एक jQuery यूआई के लिए सभी डोम घटनाओं देखें, # करने के लिए मेरे यूआरएल हैश को साफ करता है, और पाठ बॉक्स में तारीख नहीं बदलता है।जब आप एक तारीख पर क्लिक करें, एक तत्व

मैं वहाँ कुछ अन्य जावास्क्रिप्ट उपयोगिता कहीं, है कि यह भी कहा जा रहा सौंप घटना के कुछ प्रकार है कि एक त्रुटि फेंक, और jQuery हैंडलर की हत्या मान।

मैं इस प्रतिनिधि तत्व से सभी प्रतिनिधि कार्यक्रमों के माध्यम से कैसे कदम उठा सकता हूं या देख सकता हूं

+1

इसके बारे में डुनो लेकिन आप कर सकते हैं क्रोम के देव उपकरण खोलें, स्क्रिप्ट टैब पर जाएं और डेटपिकर कोड में ब्रेकपॉइंट डालें और जेएस कोड के माध्यम से कदम उठाएं ताकि यह देखने के लिए कि क्या निष्पादित किया जाता है। – sachleen

उत्तर

10

Chrome की देव उपकरण वें के साथ मदद कर सकते हैं है:

  1. प्वाइंट क्रोम पेज पर
  2. राइट-क्लिक करें jQuery के यूआई datepicker में दिनांक और चुनें "तत्व का निरीक्षण किया।"
  3. दूर दाएँ हाथ की ओर पर, वहाँ विभिन्न चीजों के साथ एक accordian है। नीचे "घटना श्रोताओं" है। (क्रोम के देव उपकरण के वर्तमान संस्करण इस बारे में बहुत ही स्मार्ट हैं, जिसमें jQuery की हैंडलर श्रृंखला पूछताछ शामिल है।)
  4. "ईवेंट श्रोताओं" पेड़ आइटम का विस्तार करें और आपको उस तत्व से संबंधित हुक घटनाओं की एक सूची दिखाई देगी, भले ही हैंडलर विशेष रूप से पर सेट नहीं है तत्व। (उदाहरण के लिए, यदि आप प्रश्न पर वोट दें बटन के साथ ऐसा किया, आप देखना चाहते हैं कि click दोनों a.vote-up-off और document के लिए शौकीन है।) तो अगर आप को देखने के लिए क्या प्रत्यक्ष और प्रत्यायोजित संचालकों कि के लिए है कि घटना से संबंधित उन चारों ओर लात कर सकते हैं तत्व।

इसके अलावा, आप jQuery के अन-minified संस्करण का उपयोग कर सकते हैं और जब आप डेटपिकर में दिनांक क्लिक करते हैं तो ईवेंट प्रेषण के माध्यम से चल सकते हैं।

और बेशक, Gabe's shown आप अनियंत्रित jQuery events डेटा के माध्यम से jQuery-विशिष्ट हैंडलर कैसे प्राप्त कर सकते हैं। (यह आपको प्रतिनिधि हैंडलर नहीं दिखाएगा (जब तक आप पूर्वजों के पेड़ पर नहीं जाते), और आपको गैर-jQuery हैंडलर नहीं दिखाएंगे जो कि संलग्न हो सकते हैं, लेकिन यह अभी भी बहुत उपयोगी चीजें हैं।)

+0

आप पुरुषों के बीच एक देवता हैं, टीजे। हमेशा की तरह धन्यवाद। –

+0

@AdamRackis: एलओएल कोई चिंता नहीं, उम्मीद है कि मदद करता है। –

4

jQuery के साथ आप डेटा के events कुंजी तक पहुंच कर सभी तत्वों की घटनाओं देख सकते हैं।

jsFiddle

उदाहरण:

एचटीएमएल

<input type="text" id="myelement" />​ 

जे एस

$(function() { 


    var myelement = $('#myelement'); 
    myelement.click(function() { 

     console.log('anonymous event'); 

    }); 

    myelement.click(anotherEvent); 
    myelement.change(anotherEvent); 

    var events = myelement.data('events'); 

    console.log('Number of click events:' + events.click.length); 
    console.log('Number of change events:' + events.change.length); 

}); 

function anotherEvent(){ 
    console.log('another event'); 
} 
+0

क्या वह प्रतिनिधि कार्यक्रम भी उठाएगा? यानी '$ (दस्तावेज़) .on (" क्लिक करें "," ए ", फ़ंक्शन() {...}); 'यदि' # myelement' एक एंकर है, तो क्या यह इस हैंडलर को दिखाएगा? –

+0

@AdamRackis: नहीं, यह नहीं होगा। यह केवल आप सीधे-शौकीन संचालकों, नहीं संचालकों आगे दिखाई देगा पेड़ कि भी कहा जाता है हो सकता है अप: http://jsbin.com/ujipuz बेशक, इसका मतलब यह नहीं है कि आप तत्व के पूर्वजों चल नहीं सकता और दोहराने उनमें से प्रत्येक के लिए प्रक्रिया, जो आपको पूरी तस्वीर देगी।गैबे –

+0

पर +1 मैंने गलत समझा, सोचा कि आप एक डिबगिंग टूल के बजाय प्रोग्रामेटिक समाधान की तलाश में थे :) – Gabe