Twitter Bootstrap .on ('show', function () {}); funktioniert nicht für Popover

7

Ich versuche, alle anderen Popovers zu verbergen, wenn ein neues Popover ausgewählt wird, indem ich Folgendes tue:

Mein HTML

%Vor%

Mein Javascript

%Vor%

Allerdings sind meine console.log ('Anfragen') und console.log ('Nachrichten'); wird nie angezeigt, obwohl die Anfragen und Nachrichten Popover zeigen, was mache ich falsch?

    
dacopenhagen 25.10.2012, 16:27
quelle

6 Antworten

8

Das Popover-Plugin löst kein Event aus. Auch nicht das Tooltip-Plugin (da Popover den Tooltip erweitert). Überprüfen Sie dieses Problem (github) auf Alternativen.

Sie können verschiedene JS-Ereignisse abhängig von Ihrem trigger verwenden. Für Ihr Beispiel: Demo (jsfiddle)

%Vor%

Warum 'click' ? Da der Standard-Popover-Trigger für Version 2.1.1 click ist. Siehe das Popover-Dokument doc (github)

Sie können die folgenden Ereignisse verwenden:

  • trigger: 'click' : auf click
  • trigger: 'hover' : Anzeige auf mouseenter und Verbergen auf mouseleave
  • trigger: 'focus' : Anzeige auf focus und Verbergen auf blur
  • trigger: 'manual' : Verwenden Sie Ihren eigenen Code, um trotzdem anzuzeigen und zu verbergen
Sherbrow 25.10.2012, 22:44
quelle
16

Bootstrap unterstützt jetzt Popover-Ereignisse - siehe den Abschnitt Ereignisse in den offiziellen Popover-Dokumenten (und hier ist das Dokument changelog ).

Beispiel:

%Vor%     
mahemoff 17.10.2014 02:45
quelle
2

Sie können es leicht tun, indem Sie Klasse verwenden und weniger und mehr organazed Codes haben:

%Vor%

Überprüfen Sie meine Demo hier

und wenn Sie Formularsteuerung im Inneren haben möchten, passen Sie diesen Code an:

%Vor%

Überprüfen Sie die Demo hier

    
PersianMan 23.04.2013 06:25
quelle
0

Es ist .on('shown') nicht .on('show')

    
Bradley Kovacs 19.10.2016 19:18
quelle
0

Nach Ссылка lautet der Name des Ereignisses

  

show.bs.popover

Ich habe es versucht, und es funktioniert gut

    
Patrick Hrastnik 07.09.2017 06:49
quelle
-1

Versuchen Sie Folgendes:

%Vor%

Dies legt einen Event-Handler für das gesamte Dokument fest und wenn es kein Popover-Element ist, werden alle Popover-Meldungen ausgeblendet.

Auch bei dem Ereignis show.bs.popover (ausgelöst vor dem Öffnen eines Popover) werden alle anderen ausgeblendet.

    
Keith Hill 11.06.2014 19:12
quelle

Tags und Links