2016-03-22 4 views
0

Ich möchte ein "click" -Ereignis bekommen, wenn ich ein Token mit Tokenfield for Bootstrap löschen möchte. Ich kann nur ein "Klick" -Ereignis für existierende Token bekommen, aber nicht dynamisch erzeugt.Tokenfield for Bootstrap kann kein "click" -Ereignis bekommen, wenn ein Token gelöscht wird

// working for existing token 
$('.close').on('click', function(){ 
    alert('OK!'); 
}); 

// not working 
$(document).on('click', 'a.close', function(){ 
    alert('delete'); 
}); 

Bitte sehen diese jsfiddle für weitere Einzelheiten.

+0

, wenn Sie das nicht funktioniert einmaligen Gebrauch nur die Klasse wie die machen, die funktionieren, funktioniert das? '.close' statt' a.close'? – gmaniac

+0

funktioniert auch nicht so. – Tester

+0

Ihre Fiddle funktioniert für mich, wenn ich eine Farbe hinzufüge, dann klicken Sie auf Senden zeigt, dass ich die Farbe hinzugefügt habe und wenn ich auf das "x" auf dieser Farbe klicke und dann auf das Senden klicken wird entfernt und zeigt die richtigen Farben. – gmaniac

Antwort

0

Es ist normal, Sie erstellen ein neues Element von dom. Aber Ihr $ ('. Close') ist bereits initialisiert.

So können Sie versuchen, so etwas zu tun:

Siehe jsfiddle http://jsfiddle.net/rns3hang/14/

$(document).ready(function() { 
    $('#tokenfield').tokenfield({ 
     autocomplete: { 
     source: ['red','blue','green','yellow','violet','brown','purple','black','white'], 
     delay: 100 
     }, 
     showAutocompleteOnFocus: true 
    }); 

    $("form").submit(function(e) { 
     e.preventDefault(); 
     $('.form-data').text($('#tokenfield').val()); 
    }); 
    close(); 


}); 

function close() { 
    $('.close').on('click', function(){ 
       alert('OK!'); 
     }); 

    $(document).on('click', 'a.close', function(){ 
     alert('delete'); 
     }); 

} 

$('input').change(function() { 
close(); 
}) 
Verwandte Themen