动态添加新对象时Javascript停止

时间:2014-05-02 17:09:07

标签: c# javascript jquery html css

我正在尝试添加动态后面有一些JS的新“li”对象,但是当我添加它们时,添加的“li”中的JS不起作用。

这是JS:JavaScript File

这就是我添加新“li”的方式:

$(document).ready(function () {
    $('#search-bar').keyup(function (event) {
        if (event.keyCode == 13) {

            addNew();

        }
    });

    function addNew() {
        var city = $('#search-bar').val();
        $.ajax({
            url: '@Url.Action("getWeatherSearch", "Index")',
            data: { city: city },
            async: false,
            complete: function (resp) {
                $("#rb-grid").prepend(resp.responseText);
            }
        });
    } });

我在控制器中调用的C#函数返回一个带有“li”的字符串。

只是调用Boxgrid.init()没有帮助。

1 个答案:

答案 0 :(得分:1)

使用

$('#parentofli').on('click', 'li', function(e) {
   $(this). whatever you want to do on the li
});

每当您希望JS在动态插入的对象上运行时

如果您在选择器上有常规的javascript,那么当文档准备就绪时,所有内容都会被绑定。如果之后插入一个元素,JS函数不知道它存在,因此它不会绑定。

当您使用父项作为选择器时,javascript将绑定到PARENT本身,每当您单击父项时,它将遍历每个父项绑定函数并查看它是否匹配