blockly > IFocusableNode > getFocusableElement
طريقة IFocusableNode.getFocusableElement()
تعرض هذه السمة عنصر DOM الذي يمكن طلبه بشكل صريح لتلقّي التركيز.
ملاحظة مهمة: يُتوقّع أن يكون لهذا العنصر حضور مرئي على الصفحة، إذ سيتم التركيز عليه بشكل صريح وسيتم تغيير نمطه استنادًا إلى حالة التركيز الحالية (أي غير مركّز عليه، أو مركّز عليه بشكل نشط، أو مركّز عليه بشكل غير نشط). سيتم ربط أحد النمطَين التاليَين بالعنصر (حيث يشير عدم توفّر نمط إلى أنّ العنصر غير مركّز عليه أو غير واضح): - blocklyActiveFocus - blocklyPassiveFocus
يجب أن يتضمّن العنصر الذي تم إرجاعه أيضًا معرّفًا صالحًا، ويجب أن يكون هذا المعرّف فريدًا على مستوى الصفحة بأكملها. قد يؤدي عدم توفّر معرّف فريد بشكل صحيح إلى محاولة التركيز على إحدى العُقد (مثل النقر بالماوس)، ما يؤدي إلى تركيز FocusManager على عقدة أخرى تحمل المعرّف نفسه.
يجب أن يكون العنصر الذي تم عرضه مرئيًا إذا تم التركيز على العقدة من خلال FocusManager.focusNode() أو FocusManager.focusTree(). ويُسمح بإخفاء عنصر إلى أن يتم استدعاء onNodeFocus()، أو إخفاؤه عند استدعاء onNodeBlur().
من المتوقّع ألا يتغيّر العنصر الفعلي الذي يتم عرضه طوال مدة بقاء العقدة (أي يمكن تغيير خصائصها ولكن لا يجب أبدًا عرض عنصر جديد). بالإضافة إلى ذلك، سيتم استبدال قيمة tabindex للعنصر الذي تم عرضه طوال دورة حياة هذه العقدة وFocusManager.
إذا كانت العقدة تتطلّب إمكانية التركيز عليها مباشرةً بدون التركيز عليها أولاً من خلال FocusManager، يجب ضبط فهرس علامة التبويب الخاص بها.
Signature:
getFocusableElement(): HTMLElement | SVGElement;
المرتجعات:
HTMLElement | SVGElement
تمثّل هذه السمة عنصر HTMLElement أو SVGElement الذي يمكن أن يكون محلّ التركيز ويمكن تمثيله مرئيًا على أنّه محلّ التركيز بشكل نشط أو غير نشط لهذه العقدة.