2016-08-26 3 views
0

OK Ich bin so verwirrt, hoffentlich kann mir jemand sagen, was ich vermisse.jQuery Selektoren und dynamische Inhalte

Ich habe eine Klasse, die ich hören bin mit Veranstaltungen auf und Klassennamen klicken: .Action-Panel-Taste

Ich versuche, eine einzelne Auswahlleitung für jQuery zu erhalten, aber es funktioniert nur, wenn ich zwei verwenden unterschiedliche:

ich einen Link haben, die ausgelöst wird, wenn für den Wähler mit diesem:

// Only fires for content loaded initially with the page, 
// not on dynamic content 
$('.action-panel-button').on('click', function() { 
    console.log(a link fired); 
}); 

die oben funktioniert nicht für dynamisch hinzugefügt Inhalt. Also habe ich es aktualisiert auf:

// Only fires for content loaded dynamically via ajax, 
// not on content originally loaded with the page 
$(document).on('click', '.action-panel-button', function() { 
    console.log(a link fired); 
}); 

Ich dachte, der zweite sollte für beide arbeiten. Was vermisse ich?

+0

sollte die zweite werden arbeiten Sie Fehler bekommen? – guradio

+0

Überprüfen Sie, ob die Klasse "action-panel-button" auf dynamisch hinzugefügten Links hinzugefügt wurde und teilen Sie uns die von Ihnen verwendete jquery-Version mit. –

+0

Entschuldigung, ich war am Ende nicht klar, der Klick wird für den dynamischen Inhalt mit der zweiten (unteren) Option ausgelöst, aber wenn ich diesen benutze, funktioniert der obere Link, der auf der Seite anfänglich geladen wird, nicht. Im mit jquery-2.1.10 – Solvision

Antwort

0

Dies funktioniert sowohl für Standardinhalt und dynamisch hinzugefügten Inhalt, möglicherweise wird dies Ihnen helfen.

$("body").delegate("p", "click", function() { 
 
    $(this).after("<p>Another paragraph!</p>"); 
 
});
p { 
 
    background: yellow; 
 
    font-weight: bold; 
 
    cursor: pointer; 
 
    padding: 5px; 
 
    } 
 
    p.over { 
 
    background: #ccc; 
 
    } 
 
    span { 
 
    color: red; 
 
    }
<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
 
<p>Click me!</p> 
 
<span></span>