javascript - How to set ngFocus directive on element at runtime? -
मैं प्रत्येक तत्व को केंद्रित करते समय एक घटना को कॉल करना चाहता हूं।
हालांकि मुझे लगता है कि प्रत्येक तत्व पर ngFocus निर्देश को सेट करना अच्छा नहीं है क्योंकि उनमें से बहुत से हो सकते हैं।
मैं रनटाइम पर प्रत्येक तत्व को फोकस ईवेंट हैंडलर पर कैसे जोड़ सकता हूं?
<पूर्व>
& lt; ng- फ़ॉर्म का नाम = "myForm" & gt; & Lt; p & gt; & lt; लेबल & gt; नाम 1: & lt; / लेबल & gt; & lt; इनपुट प्रकार = "टेक्स्ट" नाम = "नाम 1" एनजी-फ़ोकस = "ऑनफिल्डफोकस (myForm, 'name1')" / & gt; & lt; / p & gt; & Lt; p & gt; लेबल & gt; नाम 2: & lt; / लेबल & gt; इनपुट
var ऐप = कोणीय। मॉड्यूल ('plunker', []); App.controller ('MainCtrl', फ़ंक्शन ($ दायरा) {$ scope.name1 = 'text1 here'; $ scope.name2 = 'text2 here'; $ scope.result = "nothing"; $ scope.onFieldFocus = फ़ंक्शन ( _formCtrl, _fieldName) {$ scope.result = "फ़ॉर्म" + + _fieldName + "फ़ॉर्म" + _formCtrl। $ Name + "फ़ोकस किया गया था";}});
मैं angular.element
और $ scope.myForm
का उपयोग करना चाहूंगा ... के माध्यम से..कोई myForm < / Code> तत्व जो $
से शुरू नहीं होता है, इसके जैसा कुछ:
के लिए ($ scope.myForm में var i) {console.log (i); $ Scope.result + = "1"; यदि ($ scope.myForm.hasOwnProperty (i)) {var गुण = $ scope.myForm.i; अगर (property.charAt (0)! = '$') {$ Scope.result + = property + ","; }}}}
मैं तर्क दूंगा कि यह है अच्छा है प्रत्येक तत्व पर ngFocus सेट करने के लिए AngularJS declarative है, इसलिए आप स्पष्ट रूप से अन्य तत्वों को स्थापित करने के बजाय प्रासंगिक तत्वों पर व्यवहार की घोषणा करना चाहते हैं।
यदि आप प्रत्येक प्रपत्र तत्व पर ngFocus निर्देश को डालकर अपने आप को दोहराना नहीं चाहते हैं, तो मैं एक डायरेक्टिव बनाना चाहूंगा (इसे फिल्ड फोकस या कुछ चीज़ों पर कॉल करें) कि आप एनजीएफॉर्म तत्व पर लागू होते हैं निर्देश का व्यवहार प्रत्येक इनपुट के लिए एनजीएफ फोकस निर्देश को लागू करना होगा जो कि फार्म का वंशज है।
Comments
Post a Comment