0

当我想使用 Tokenfield for Bootstrap 删除令牌时,我想获得“点击”事件。我只能获得现有令牌的“点击”事件,但不能动态生成一个。

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

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

有关详细信息,请参阅此jsfiddle

4

1 回答 1

0

这很正常,你创建了一个新的 dom 元素。但是您的 $('.close') 已经初始化。

所以你可以尝试做这样的事情:

见 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();
})
于 2016-03-22T14:10:48.063 回答