我正在尝试添加动态后面有一些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()没有帮助。
答案 0 :(得分:1)
使用
$('#parentofli').on('click', 'li', function(e) {
$(this). whatever you want to do on the li
});
每当您希望JS在动态插入的对象上运行时
如果您在选择器上有常规的javascript,那么当文档准备就绪时,所有内容都会被绑定。如果之后插入一个元素,JS函数不知道它存在,因此它不会绑定。
当您使用父项作为选择器时,javascript将绑定到PARENT本身,每当您单击父项时,它将遍历每个父项绑定函数并查看它是否匹配