2013-08-01 8 views
6

मैं एक वर्ग (question) का उपयोग करने की कोशिश कर रहा हूं जो सरणी के प्रत्येक तत्व में संलग्न होगा, लूप ठीक काम करता है। मेरी समस्या यह है कि जब मैं jQuery में कक्षा का उपयोग करने की कोशिश करता हूं तो कुछ भी नहीं होता है, जैसे कि यह नहीं है ...एक सरणी लूप में कस्टम क्लास काम नहीं करेगा

मुझे पता है कि कोणीय ng-scope और ng-binding कक्षाएं जोड़ सकता है, क्या यह शायद jQuery को रोक सकता है?

जब मैं डीओएम का निरीक्षण करता हूं तो कोई त्रुटि नहीं होती है और मेरी कक्षा वहां होती है, यह काम नहीं करती है! एचटीएमएल

<p ng-repeat="n in ['Human or Lemar King?','Name of your tribe?','Can you Boogie?'] | filter:query" class="question"> {{n}}</p> 

jQuery

$(function() { 
    $(".question").on('click',function() { 
    alert("Ohh hail King Julien!") 
    });  
}); 

उत्तर

3

आप तत्वों है कि अभी तक डोम पेड़ में नहीं हैं पर एक ईवेंट हैंडलर स्थापित करने के लिए कोशिश कर रहे हैं:

यहाँ मेरी कोड है।

आप या तो कोणीय तरह से जाने के लिए और जोड़ सकते हैं ng-click:

<p ng-click="doSomething()" ng-repeat="n in ['Human or Lemar King?','Name of your tribe?','Can you Boogie?'] | filter:query" class="question"> {{n}}</p> 

या आप <body> पर एक लाइव इवेंट सेट कर सकते हैं (या तत्व के करीब माता पिता है कि डोम में मौजूद है पर):

$(function() { 
    $('body').on('click', '.question', function() { 
    alert("Ohh hail King Julien!") 
    });  
}); 
+0

मैं देखता हूं ... लेकिन '$ (फ़ंक्शन() {...}); 'डीओएम तैयार होने पर स्क्रिप्ट चलाता है या क्या मैं इसे गलत समझ रहा हूं? –

+2

जब डोम तैयार होता है, कोणीय अपना जादू करना शुरू कर देता है, जो रूटिंग और नियंत्रक सामान करता है। तो कोणीय ने विचारों को प्रतिस्थापित करने से पहले आपके $() एस को निष्पादित कर दिया है! यदि आप एक कोणीय ऐप में हैं, तो मैं इसके लिए 'ng-click' का उपयोग करने की अत्यधिक अनुशंसा करता हूं! –

+0

@stevuu अब समझ में आता है। धन्यवाद। –

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