Bootstrap <ul>列表 - 在大量列表项上添加事件处理程序

时间:2017-03-20 21:32:30

标签: javascript jquery twitter-bootstrap

如何在Bootstrap UL列表的项目上添加事件处理程序?这些项目是动态添加的。

在Bootstrap中,UL是:

<div class="col-sm-3">
    <ul class="list-group" id="solvedList"></ul>
</div>

我动态添加列表项,因此列表中可能有50个项目。

可以像这样创建列表项:

$.each(list, function(index, solved) {
        $('#solvedList').append('<li><a href="#" class="solvedlix" class="list-group-item" data-identity="' + solved.id+ '">'+ solved.name+'</a></li>');
});

经过一些研究后,我尝试了这些事件处理程序。

尝试1 :(没有引导程序):

$('#solvedList a').live('click', function() {
    alert( $(this).data('identity'));
});

尝试2:

$('.solvedlix').click(function(e) {
    var name = e.currentTarget;
    alert( 'Name is ' + name.getAttribute("data-identity"));
});

尝试3:

$("ul li").on("click", function() {
    alert( "In here ...getting access to the sub item later ");
});

1 个答案:

答案 0 :(得分:1)

您应该阅读this。事件冒泡/委派可能会有所帮助,因此您应该尝试使用此功能:

fun indexOfMax(a: IntArray): Int? {
    return a.foldIndexed(null as Int?) { index, accumulator, element ->
        if (accumulator == null) index
            else if (element >= a[accumulator]) index
            else accumulator
    }
}

希望这有帮助!