ich etwas Hilfe gebrauchen könnte Debuggen dies:jquery .on ("Klick") funktioniert nicht nach .off ("Klick")
var factBody = jQuery(".fact__body");
jQuery(".fact").on("click", function() {
jQuery(".fact").not(this).addClass("fact-inactive");
jQuery(this).addClass("fact-active");
jQuery(".fact").off("click");
var indexOfClicked = jQuery(this).index();
var descriptionOfIndex =
jQuery(".fact__description").eq(indexOfClicked - 1);
jQuery(factBody).show().addClass("active").append(descriptionOfIndex);
});
jQuery(".fact-close").on("click", function() {
jQuery(factBody).hide().removeClass("active");
jQuery(".fact").removeClass("fact-inactive fact-active");
jQuery(".fact").on("click");
});
https://jsfiddle.net/left23/yyoxpk9j/
Nachdem ein Element geklickt wird, ich das entfernen Klick-Handler mit der Methode .off. Das funktioniert. Wenn das Textfeld angezeigt wird, sind die Elemente nicht mehr anklickbar. So verhindere ich, dass mehr als ein Panel gleichzeitig geöffnet wird.
Wenn das Textfeld geschlossen ist, indem ich auf die Schaltfläche "Schließen" klicke, versuche ich den Click-Handler erneut hinzuzufügen, aber das schlägt fehl. Ich kann nicht klar sehen warum.
Vielen Dank im Voraus. Bitte lassen Sie mich wissen, wenn mehr Klärung erforderlich ist.
'.on (" click ")' fehlt die Funktion, die aufgerufen wird, wenn auf das Element geklickt wird. – Barmar