2016-05-20 6 views
0

Ich möchte Zugriff auf DOM-Elemente erhalten, die mit jquery aus einer externen HTML-Datei hinzugefügt werden.Zugriff auf dom-Elemente aus eingefügtem HTML mit jquery

Hier ist mein erster Teil des Codes, wo ich die HTML hinzu:

$.get("resources/game/game_menu.html").success(function(data) { 
    $("#gameView2").html(data); 
}); 

die "game_menu.html" sieht aus wie diese (atm zum Testen)

<div id="gameMenu" class="gameMenu"> 
    <button id="startGame" type="button">Click Me!</button> 
</div> 

Jetzt ist ich versuchen, Zugriff auf die Elemente mit jquery, die wie folgt aussieht:

$("#startGame").click(startGame()); 
$("#gameMenu").someFunction(someContext); 

Aber beide einfach nicht funktionieren. Wie ist es möglich, auf ALLE DOM-Elemente zuzugreifen? Kann mir jemand helfen?

Thx, auf 0 €

+0

Wo setzen Sie die letzten beiden Befehle? Kannst du bitte den ganzen Code zeigen? –

Antwort

1

Sie müssen sich für dynamisch generierte Inhalte $(document).on("click", "#startgame", startGame()); verwenden.

Siehe Click event doesn't work on dynamically generated elements aus dem Grund, warum Sie dies tun müssen.

+1

'$ (document) .on (" click "," #startgame ", startGame);' –

+0

'$ (document) .on (" click "," # startGame ", function() { startGame() }); 'das hat es behoben! Danke! – myr0

+0

Alex hat Recht, Sie können startGame anstelle von function() {startGame()} übergeben, aber die Art und Weise, wie Sie es getan haben, sollte auch in Ordnung sein. –

0

definieren das Ereignis innerhalb

$.get("resources/game/game_menu.html").success(function(data) { 
    $("#gameView2").html(data); 
    $("#startGame").click(startGame()); 
}); 

Diese Elemente nicht in DOM existieren.

+0

'startGame' sollte nicht'() 'Ich denke, da es ein Rückruf ist. –

Verwandte Themen