为清晰起见而编辑了问题
我使用$.getJSON()
方法进行AJAX调用,并在回调函数中向页面添加一些元素:
$.getJSON("pathToFile/file.json", function(data) {
$.each(data.lst, function(i, item) { /* Add HTML elements to the page.. */ });
});
这一切都正确显示,但我为元素添加的事件处理程序不起作用:
$(".newElement").on("click", "input", function() {
alert("Something happened..");
});
点击输入元素后没有任何反应。我错过了什么?
解释
正如@jbabey所指出的那样,the documentation for .on()表示你必须将事件处理程序绑定到现有元素。代码不起作用,因为在应用事件处理程序时元素不存在。
答案 0 :(得分:1)
您是否在任何地方遇到任何错误,或者什么都没有发生?您是否能够在流量中看到任何有用的信息(小提琴手,萤火虫等)?
我建议您将$ .getJSON的使用情况更改为$.ajax,以便添加错误处理程序,然后我们就可以调查实际问题。
有关使用jQuery进行ajax调用的不同方法的好文章可以在这里找到: http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/