الأزرار تحافظ على فئة التركيز الخاصة بها بعد فقدان التركيز

StackOverflow https://stackoverflow.com//questions/10680122

سؤال

لدي بعض الأزرار في شريط الأدوات السفلي للوحة الشبكة التي تتحكم في إضافة السجلات وإزالتها من شبكة تحرير الصفوف.

المعالجات بسيطة جدًا:يقوم الزر "جديد" بإنشاء مثيل للنموذج، وإلحاقه بالشبكة ثم فتح محرر الصف في الصف الجديد؛الزر "تحرير" يفتح فقط محرر الصف المحدد؛يؤدي "إزالة" إلى تدمير السجل من المتجر وتحديث عرض الشبكة.

لسبب ما، لا تفقد هذه الأزرار فئة التركيز التي تمنحها حدودًا عندما يكون التركيز عليها.هنا صورة:

enter image description here

في الصورة، يحتوي كل من الزر "جديد" والزر "إزالة" على فئة التركيز، وعندما أضغط على الزر "تحرير"، فإنه يحتفظ أيضًا بفئات التركيز حتى بعد إجراء عملية تحرير صف كاملة وإغلاق محرر الصف.

لقد وجدت أنه عندما أقوم بالضغط على أحد هذه الأزرار "المركّزة" بشكل دائم ثم أقوم برفع الماوس بعيدًا عنها ثم انقر فوق شيء آخر تختفي فئة التركيز.

أعلم أنه يمكنني وضع معالج التمويه لجميع مكونات الأزرار في وحدات التحكم الخاصة بي، لكنني كنت أعتقد أن هذه الوظيفة مدمجة لذا أطلب معرفة ما إذا كان هناك شيء فاتني في مكان ما في المستندات.

الفئات التي لن تتخلى عنها هي:

x-focus x-btn-focus x-btn-default-toolbar-small-focus

هذا مع ExtJS 4.1.0 في FF10 على نظام التشغيل Windows 7.لكنني لاحظت سلوكًا مشابهًا في ExtJS 4.02 و4.07، ولم أكن بحاجة للتعامل معه حتى الآن.

هل كانت مفيدة؟

المحلول

لقد اكتشفت ما هو:

في مرحلة ما من سلسلة المعالج لكل زر من هذه الأزرار، يتم تعطيل الزر.عندما يتم تعطيل زر في ExtJS فإنه يمنع blur الحدث من إطلاق النار.

وكان من الضروري تعطيل الأزرار حتى يضيف الحل ببساطة button.blur() في المعالج كانت الطريقة الصحيحة للقيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top