由于某些原因,我的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;
}
});
答案 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元素所做的所有事件处理程序和修改都将丢失。