blockly > IFocusableNode > getFocusableElement

IFocusableNode.getFocusableElement() तरीका

यह फ़ंक्शन, उस डीओएम एलिमेंट को दिखाता है जिस पर फ़ोकस करने का अनुरोध किया जा सकता है.

अहम जानकारी: कृपया ध्यान दें कि इस एलिमेंट को पेज पर विज़ुअल तौर पर मौजूद होना चाहिए.ऐसा इसलिए, क्योंकि इस पर साफ़ तौर पर फ़ोकस किया जाएगा. साथ ही, फ़ोकस की मौजूदा स्थिति (यानी कि धुंधला, ऐक्टिव तौर पर फ़ोकस किया गया, और पैसिव तौर पर फ़ोकस किया गया) के आधार पर इसकी स्टाइल में बदलाव किया जाएगा. इस एलिमेंट में दो में से कोई एक स्टाइल अटैच होगी. अगर कोई स्टाइल अटैच नहीं है, तो इसका मतलब है कि एलिमेंट धुंधला है/फ़ोकस में नहीं है: - blocklyActiveFocus - blocklyPassiveFocus

दिखाए गए एलिमेंट में, मान्य आईडी भी दिया गया होना चाहिए. साथ ही, यह आईडी पूरे पेज पर यूनीक होना चाहिए. यूनीक आईडी न होने पर, किसी एक नोड (जैसे कि माउस क्लिक के ज़रिए) पर फ़ोकस करने की कोशिश करने से, FocusManager उसी आईडी वाले दूसरे नोड पर फ़ोकस कर सकता है.

अगर नोड पर FocusManager.focusNode() या FocusManager.focusTree() के ज़रिए कभी फ़ोकस किया जाता है, तो लौटाया गया एलिमेंट दिखना चाहिए. किसी एलिमेंट को तब तक छिपाया जा सकता है, जब तक onNodeFocus() को कॉल नहीं किया जाता. इसके अलावा, onNodeBlur() को कॉल करके भी उसे छिपाया जा सकता है.

यह उम्मीद की जाती है कि नोड के पूरे लाइफ़टाइम के दौरान, असल में लौटाया गया एलिमेंट नहीं बदलेगा. इसका मतलब है कि इसकी प्रॉपर्टी बदली जा सकती हैं, लेकिन कभी भी नया एलिमेंट नहीं लौटाया जाना चाहिए. इसके अलावा, लौटाए गए एलिमेंट का tabindex, इस नोड और FocusManager के पूरे लाइफ़साइकल में बदल दिया जाएगा.

अगर किसी नोड को सीधे तौर पर फ़ोकस करने की ज़रूरत है, तो उसे अपना टैब इंडेक्स सेट करना होगा. ऐसा तब किया जाता है, जब उसे पहले FocusManager के ज़रिए फ़ोकस नहीं किया जाता.

हस्ताक्षर:

getFocusableElement(): HTMLElement | SVGElement;

लौटाए जाने वाले प्रॉडक्ट:

HTMLElement | SVGElement

यह HTMLElement या SVGElement है. इसे फ़ोकस किया जा सकता है. साथ ही, इस नोड के लिए इसे सक्रिय या निष्क्रिय तौर पर फ़ोकस किया गया है.