2012-05-14 40 views
9

http://www.rightoption.co/Bootstrap popover funktioniert nicht in Chrome

Sie „Unser Kunde“ Auf RHS Seite der Seite an, auf der Bilder klicken, es öffnet popover (Firefox), Aber es funktioniert nicht in Google Chrome, Bitte helfen Sie mir aus dieser

bearbeiten: Website ist nicht mehr auf Hosting

+1

Ihr 'href =" # "' si macht die Seite jedes Mal, wenn Sie auf ein Popover klicken, zurück nach oben. Wenn Sie das verhindern möchten, sollten Sie 'event.preventDefault()' in Ihren 'click' Bindings verwenden. –

+0

der Code ist jetzt nicht auf der URL vorhanden, Website wird aktualisiert – Chandrakant

Antwort

25

Dies liegt daran, dass die Standard-Trigger für die popover Fokus ist. Wenn Sie in Firefox auf etwas klicken, scheint es den Fokus zu gewinnen, aber das scheint in diesem Fall nicht für Chrome zu gelten.

Sie können eine von zwei Dinge versuchen:

Versuchen Sie, den Auslöser auf dem Tag zu sein „manuell“ manuell einstellen. So fügen Sie diese Attributdaten-Trigger = "manuell"

OR

in Ihrem Dokument onload, anstatt das zu tun:

$('#element, #element1').popover('toggle').popover('hide'); 

Verwendung dieser Linie statt:

$('#element, #element1') 
    .popover() 
    .click(function(e) { 
     e.preventDefault(); 
     $(this).focus(); 
    }); 
+0

data-trigger = "manuell" funktioniert nicht für mich, aber $ ('# element, # element1') .popover() .click (funktion (e) { e.preventDefault(); $ (this) .focus(); }); Das funktioniert mir, thnx – Chandrakant

+0

Weder für mich, aber die letzte Option funktioniert perfekt. Vielen Dank –

+0

Dies funktionierte, aber es verursachte Popup, um sich zweimal auf Firefox zu öffnen. Sogar - obwohl es nicht auffiel, hat dieser Unterfaden eine dauerhafte Lösung ... http://stackoverflow.com/questions/25042697/bootstraps-popover-only-working-on-buttons-not-anchors-o-spans – Hash

3

Die akzeptierte Antwort ist ziemlich veraltet, aber es kam für mich in einer Google-Suche, so möchte ich hinzufügen, dass ab Version 2.3.0 Bootstrap nun erlaubt, "Hoverfokus" als Auslöser zu senden, damit es auf beiden funktioniert. Und ganz wichtig, es ermöglicht auch einen Klick-Auslöser, der wie erwartet funktioniert (speziell für Chrome).

+0

"hover focus" funktioniert bei mir nicht mit 2.3.2. – user553086

1

Das funktionierte für mich!

var el = $('[data-toggle="popover"]'); 
el 
    .on('shown.bs.popover', function(){ 
     $(document).on('click.popover', function() { 
      el.popover('hide'); 
      $(document).off('click.popover'); 
     });        
    }) 
    .popover(); 

aktualisieren: Die oben hatte ein Problem, wobei ein anderes popover Element klicken, während ein popover angezeigt wird, um die offene popover schließt aber nicht öffnet die neue. Das Folgende schließt das offene Popover und öffnet das neue mit einem Klick.

var el = $('[data-toggle="popover"]'); 
el 
    .on('click', function(e){ 
     var el = $(this); 
     setTimeout(function(){ 
      el.popover('show'); 
     }, 200); // Must occur after document click event below. 
    }) 
    .on('shown.bs.popover', function(){ 
     $(document).on('click.popover', function() { 
      el.popover('hide'); // Hides all 
     }); 
    }) 
    .on('hide.bs.popover', function(){ 
     $(document).off('click.popover'); 
    }); 
Verwandte Themen