2016-07-20 11 views
0

Ich habe eine navbar.html, die einige Symbolleistenfunktionen enthält.jQuery laden Daten-Ziele nicht persistent

ich es in ein div auf einer anderen Seite bin Laden $("#nav-bar").load("nav-bar.html")

Innen nav-bar.html gibt es Links mit data-targets Satz:

<a role="button" data-target="#panelOverlays" aria-haspopup="true">

Die Datenziel Funktionalität funktioniert nicht, wenn ich die html laden , funktioniert aber statisch einwandfrei.

Irgendwelche Ideen?

Danke.

+0

denke ich, Daten-Attribute nur dann gesetzt werden, wenn die Seite geladen wird. Wenn Sie also html dynamisch in die Seite '$ (selector) laden, funktioniert .data ('target')' nicht. Verwenden Sie '$ (selector) .attr ('data-target')' stattdessen, da dies mit dynamisch geladenem Zeug funktionieren sollte. –

+0

@MartinHansenLennox Danke für die Antwort. 'data-target' wurde in Bootstrap-Bibliotheken aufgerufen, nicht in meinem Code. Ich kann das nicht ändern. – NorCalKnockOut

+0

Möglicherweise müssen Sie die Bootstrap-Funktion aufrufen, die die Navigationsleiste aktiviert, nachdem Sie sie neu geladen haben. – Barmar

Antwort

0

Seit bootstrap.js war verbindlich die Daten-Attribute, einschließlich es nach dem Laden gearbeitet. Danke an alle.

Dies ist, was ich tun endete:

<script> 
$("#nav-bar-container").load("nav-bar.html", function() { 

    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src = "../libs/bootstrap/bootstrap.js"; 
    $("body").append(script); 
}); 
</script>