JavaScript innerHTML锁定其他javascripts

时间:2014-03-28 13:31:49

标签: javascript jquery html

由于某些原因,我的javascript代码中的innerHTML正在锁定其他javascript函数,我不知道为什么......这是锁定其他javascript的javascript。

        var city = $('#search-bar').val();
        $.ajax({
            url: '/Index/getWeatherSearch',
            data: { city: city },
            //async: false,
            error: function (resp) {
                alert("Error");
            },
            complete: function (resp) {
                var div = document.getElementById('rb-grid');
                div.innerHTML = resp.responseText + div.innerHTML;
            }
        });

2 个答案:

答案 0 :(得分:3)

不确定锁定的含义是什么,但是要删除元素并将其添加回来。最好附加新内容。

var div = document.getElementById('rb-grid');
div.innerHTML = resp.responseText + div.innerHTML;

$("#rb-grid").prepend(resp.responseText);

答案 1 :(得分:3)

如果您正在使用jQuery,为什么不使用jQuery?

使用success处理程序代替complete并执行:

$('#rb-grid').prepend(resp);

问题是通过(ab)在代码中使用innerHTML,您正在重建该div元素的整个DOM部分。您对所有后代DOM元素所做的所有事件处理程序和修改都将丢失。