diff --git a/src/cards/ha-entities-card.html b/src/cards/ha-entities-card.html
index 129191c8ff..a8314665a0 100644
--- a/src/cards/ha-entities-card.html
+++ b/src/cards/ha-entities-card.html
@@ -77,6 +77,13 @@ class HaEntitiesCard extends
};
}
+ constructor() {
+ super();
+ // We need to save a single bound function reference to ensure the event listener
+ // can identify it properly.
+ this.entityTapped = this.entityTapped.bind(this);
+ }
+
computeTitle(states, groupEntity, localize) {
if (groupEntity) {
return window.hassUtil.computeStateName(groupEntity).trim();
@@ -98,9 +105,13 @@ class HaEntitiesCard extends
}
addTapEvents() {
- const cards = this.root.querySelectorAll('.state.more-info');
+ const cards = this.root.querySelectorAll('.state');
cards.forEach((card) => {
- card.addEventListener('tap', this.entityTapped.bind(this));
+ if (card.classList.contains('more-info')) {
+ card.addEventListener('tap', this.entityTapped);
+ } else {
+ card.removeEventListener('tap', this.entityTapped);
+ }
});
}