ich diese Javascript-Objekt haben:ausblenden Element von Körper, es sei denn bestimmtes Element klicken
StoryGroup = {
groupInput: '.story-group-container input[type="text"]',
container: '.checkbox-container',
submit: '.checkbox-container .filter',
body: 'body',
init: function() {
$(this.groupInput).click(this.showForm.bind(this));
$(this.body).click(this.hideForm.bind(this));
},
showForm: function() {
$(this.container).show();
},
hideForm: function(e) {
if (e.currentTarget == $(this.groupInput) || e.currentTarget == $(this.container)) {
$(this.container).show();
} else {
$(this.container).hide();
}
}
}
Warum ist dies nicht richtig funktioniert? Wenn ich die Funktion 'hideForm' entferne. Die ShowForm-Funktion funktioniert ordnungsgemäß und zeigt meinen 'Container' an, wenn auf die Gruppeneingabe geklickt wird. Ich möchte die Funktion "hideForm" ausführen, wenn irgendwo auf dem Körper geklickt wird, es sei denn, dieser Klick befindet sich in der Eingabe oder im Container. Deshalb gebe ich das "e" ein, um sicherzustellen, dass der Klick nicht auf diesen beiden Elementen erfolgt.
das macht für mich Sinn, aber es scheint nicht mein Problem zu lösen. – JordanBarber
@JordanBarber Können Sie eine einfache Demo Ihres Problems in jsfiddle.net erstellen? Es wäre also leicht für uns, es zu reparieren. –
Ja, gib mir ein paar Sekunden – JordanBarber