Canapin
(Coin-coin le Canapin)
27 يناير 2022، 6:04م
1
الخطوات:
حرك المؤشر فوق زر.
حرك المؤشر بعيدًا قليلاً عن الزر، ولكن ليس أبعد من الزر بأكمله .
تختفي حالة التحويم الخاصة بالزر. إذا حركت المؤشر مرة أخرى داخل الزر، فلن يتم عرض حالة التحويم.
ملاحظة: لا يزال الزر يعمل، على الرغم من أن حالة التحويم غير نشطة. إنها مجرد مشكلة بصرية تزعجني قليلاً.
إعجابَين (2)
لا يبدو أن هذه مشكلة .. أعتقد أنها مجرد تأثير التحويم في CSS الذي يختفي بعد بضع ثوانٍ ، إنها رسوم متحركة. تحتاج فقط إلى تغيير CSS
Canapin
(Coin-coin le Canapin)
27 يناير 2022، 8:20م
3
التأثير لا يختفي إذا أبقيت مؤشر الماوس على الزر.
إذا انتقل المؤشر إلى المنطقة الخضراء ، يحصل الزر على الفئة d-hover التي تبرز الزر بأكمله، كما هو متوقع.
ولكن بمجرد أن يترك المؤشر المنطقة الحمراء (حاول وضع مؤشر الماوس بين “Reply” والسهم المجاور له على اليسار )، يفقد الزر بأكمله فئة d-hover. لا ينبغي أن يحدث ذلك. يجب أن تختفي فئة d-hover فقط عندما يترك المؤشر المنطقة الخضراء (أو إذا لم يعد الزر مركزًا).
4 إعجابات
Canapin
(Coin-coin le Canapin)
1 سبتمبر 2022، 10:55م
4
سؤال سريع: إذا أردت محاولة تصحيح هذا، هل يجب أن أنظر إلى
this._handleWidgetButtonHoverState
);
this.element.removeEventListener(
"mouseleave",
this._removeWidgetButtonHoverState
);
this.appEvents.off("post-stream:refresh", this, "_refresh");
this.appEvents.off("post-stream:posted", this, "_posted");
},
_handleWidgetButtonHoverState(event) {
if (event.target.classList.contains("widget-button")) {
document
.querySelectorAll("button.widget-button")
.forEach((widgetButton) => {
widgetButton.classList.remove("d-hover");
});
event.target.classList.add("d-hover");
}
},
أم تعتقد أن المشكلة تأتي من نص برمجي آخر؟
Don
2 سبتمبر 2022، 7:08ص
5
مرحباً،
أعتقد أن هذا شيء يمكنك تغييره باستخدام CSS. من JS يبدو أنه يستهدف button.widget-button ويضيف فئة .d-hover عند mouseenter. ولكن عندما تحرك المؤشر إلى الأيقونة والعودة، فإنه يخرج من الفئة المستهدفة ويزيل فئة .d-hover. أو شيء من هذا القبيل
جرب شيئًا كهذا على سطح المكتب / CSS
nav.post-controls {
.actions button {
.d-icon,
.d-button-label {
pointer-events: none;
}
}
}
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
2 سبتمبر 2022، 10:14ص
6
هذا أمر ذكي وغير تقليدي على حد سواء
آمل ألا يتعارض هذا مع واجهة Discourse أكثر من المتوقع.
أود أن أفهم السبب الأساسي لهذا السلوك، الذي يحدث على أي زر، وليس فقط عناصر التحكم في المشاركة.
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
7 سبتمبر 2022، 12:03م
7
استبدال “mouseenter” بـ “mouseover” هنا:
};
},
willDestroyElement() {
this._super(...arguments);
document.removeEventListener("touchmove", this._debouncedScroll);
window.removeEventListener("scroll", this._debouncedScroll);
this.appEvents.off("post-stream:refresh", this, "_debouncedScroll");
this.element.removeEventListener(
"mouseenter",
this._handleWidgetButtonHoverState
);
this.element.removeEventListener(
"mouseleave",
this._removeWidgetButtonHoverState
);
this.appEvents.off("post-stream:refresh", this, "_refresh");
this.appEvents.off("post-stream:posted", this, "_posted");
},
يحل المشكلة، لكنني لست متأكدًا مما إذا كان له عواقب غير مرغوب فيها أم لا.
لم أواجه أي مشكلة عند النظرة الأولى.
أفترض أنني سأترك المطورين يرون ما إذا كان هذا إصلاحًا مناسبًا أم لا.