So prüfen Sie, ob auf dasselbe Bild oder ein anderes Bild oder auf ein anderes Bild geklickt wird

8

Ich mache ein sortierbares und in der Größe veränderbares Bildalbum. Dort versuche ich, eine Funktion hinzuzufügen, um das Bild als Link zu erstellen.

  1. Bild wird angeklickt

  2. Wickeln Sie das Bild dann mit einem div-Element, das eine Bearbeitungsschaltfläche über dem Bild anzeigt.

  3. Und wenn Sie auf die Schaltfläche Bearbeiten klicken, erscheint ein Dialogfeld, in dem Sie die URL und den Namen für das Bild eingeben können.
  4. Und dann wickle das Bild mit einem a tag mit der angegebenen URL und dem Namen.

Demo bei jsfiddle

Das ist in Ordnung. Aber was ich tun möchte, ist:

  • Wenn dasselbe Bild angeklickt wird, wird das Edit-Div nicht mehr umschlossen.
  • Nur wenn ein neues Bild angeklickt wird, wickeln Sie das Edit div.
  • um
  • Und wenn auf etwas anderes als das Bild geklickt wird, entfernen Sie das Bearbeiten-Div.

Wie kann ich das erreichen? Ich denke, unwrap () wird den Trick machen, das Edit Div aus dem Bild zu entfernen, aber wie weiß ich, ob es das gleiche Bild oder etwas anderes ist?

js Ausschnitt:

%Vor%     
Tikli Taba 15.09.2015, 12:51
quelle

2 Antworten

1

Ich habe deine Geige bearbeitet, um eine mögliche Lösung zu demonstrieren: jsfiddle

Um zu überprüfen, ob ein Bild gerade bearbeitet wird, füge ich eine Klasse hinzu. Dies hilft mir später, das aktuell bearbeitete Bild zu identifizieren. Ich habe Benachrichtigungen hinzugefügt, die angezeigt werden, wenn Sie den Bearbeitungsmodus beenden müssen.

Mit dem folgenden Snippet können Sie das Ereignis erfassen, wenn Sie auf etwas anderes als ein Bild klicken.

%Vor%

Das Hinzufügen von event.stopPropagation() zum onCLick der Bilder verhindert, dass% cco_de% diesen Klick ebenfalls aufnimmt.

    
Abaddon666 15.09.2015, 13:21
quelle
2

Um das Hinzufügen mehrerer Wrapper zu vermeiden, können Sie Folgendes tun:

%Vor%

Und zum Bearbeiten:

%Vor%

Um das Bearbeitungskennzeichen zu entfernen, wenn auf etwas anderes geklickt wird:

%Vor%

Natürlich schlage ich vor, dass Sie eine andere Klasse als ui-sortable-handle zu Ihrer li s hinzufügen und sie im obigen Code verwenden, da auf Ihrer Seite möglicherweise andere Elemente mit der Klasse 'ui-sortable-handle' vorhanden sind.

    
Ashkan Mobayen Khiabani 15.09.2015 13:19
quelle

Tags und Links