2016-03-23 17 views
-1

JSFIddleJQuery Bindung Click-Ereignis

Problem:

click Ereignis arbeitet für buttonKlick mich aber click Ereignis arbeitet für label nicht Klick mich. Unten ist der Code

HTML

<button type="button" id="clickMe" class="btn">Click Me</button> 
<div class="preview"> 

</div> 

JQuery

$('#clickMe').click(function() { 
    var lab = "<label class=\"click\">Click Me </label>"; 
    $('.preview').append(lab); 
}); 

$('.click').click(function() { 
    alert("You clicked on text"); 
}); 
+5

Lesen Sie mehr über [ 'Ereignis delegation'] (https://learn.jquery.com/events/event-delegation/) – Rayon

Antwort

2

Verwendung event delegation.

$('.preview').on('click', '.click', function() { 
    alert("You clicked on text"); 
}); 
+5

' $ ('Vorschau '). Auf (' Klick',‘. click ', function() {..... 'wäre besser. –

+1

@KartikeyaKhosla Ja, du hast recht, wenn wir sicher sind, dass' $ ('. preview ') 'nicht dynamisch ist. Ich denke, das ist hier der Fall . – RRK