bootstrap popover preventDefault für Klick funktioniert nicht in einer Rails 3.2 App

7

Jemand anders hat diese Frage hier gestellt, aber es wurde keine Antwort oder Lösung gegeben.

Diese Bootstrap-Dateien werden am Anfang meiner application.js-Datei aufgelistet:

%Vor%

Meine bootstrap_additions.js.coffee Datei enthält:

%Vor%

In einer Ansicht habe ich:

%Vor%

Wenn ich localhost: 3000 / assets / application.js im Browser eingebe, ist der Inhalt bootstrap-popover.js vorhanden. Außerdem habe ich folgendes gefunden:

%Vor%

Wenn der Link angeklickt wird, wird die Browseranzeige an den Anfang der Seite verschoben. Wenn ich zurück zum Link blättern, wird das Popover angezeigt. Alles funktioniert außer preventDefault. Was vermisse ich?

Danke.

UPDATE: Um die Dinge in meinem Code sauber zu halten, fand ich die Coffeescript-Version der ausgewählten Antwort:

> %Vor%     
Jay 14.11.2012, 05:08
quelle

4 Antworten

10

Verwenden von Twitter-Bootstrap-Popover

In "Coffeescript" aktualisiert

1. Ansatz

Instanziieren

%Vor%

Handle

%Vor%

2. Ansatz

Wird direkt aus dem Quellcode übernommen:

%Vor%     
EasyCo 14.11.2012, 05:22
quelle
11

Sie können auch wie folgt verketten:

%Vor%     
TontonBlach 13.02.2014 16:30
quelle
8

Sie können ein "span" -Tag anstelle eines "a" -Tags verwenden, so dass Sie Standard nicht verhindern müssen.

verhindert auch, dass der Standard einem Ereignis zugeordnet werden soll.

Ссылка

    
Kubee 14.11.2012 05:23
quelle
0

Zunächst möchte ich TontonBlach für seine Antwort danken, weil es mir sehr geholfen hat.

Ich fragte mich jedoch, warum diese einfache Funktion nicht funktionierte und das offizielle Handbuch (im Gegensatz zu W3-Schulen) unter Ссылка Ich habe gefunden, was ich glaube, ist die richtige Antwort.

  1. Erstens sollte es kein href-Tag geben
  2.   

    Für korrektes browser- und plattformübergreifendes Verhalten müssen Sie das a -Tag verwenden, nicht das button -Tag, und Sie müssen auch die Attribute role="button" und tabindex

Was behoben wurde, war das Kopieren ihres (Arbeits) -Beispiels und das Beachten der Unterschiede (was für mich das Fehlen von Tabindex war). Auch erwähnenswert ist, dass Rolle="Button" mit Barrierefreiheit zu tun hat und daher nicht technisch erforderlich ist.

Damit können Sie die Standardfunktion .popover() korrekt verwenden, um die Popover zu initiieren.

    
Antony 28.09.2017 08:50
quelle