我有以下JQ。它基本上添加了一个小图标,允许在选择列表项时进行一些内联编辑。但是,我无法使用jquery添加的内容。当我点击我的JQ添加内容时,我甚至无法将任何内容记录到控制台。我的代码下面有什么问题吗?
我无法添加小提琴,因为我没有链接到此列表正在使用的Kendo UI库。
<script>
$(function () {
$("#treeview-left li").click(function () {
$("div#EditEntity").remove();
$(this).find(".k-state-focused").append("<div id='EditEntity'> <a href='#' id='EditWindow' class='icon-pencil active tiny'></a></div>");
});
$(".k-state-selected").on("click", "a#EditWindow", function (e) {
e.preventDefault();
$.get("ClassificationEditEntity", function (data) {
$(".k-window-content").html(data);
});
});
});
</script>
答案 0 :(得分:3)
你需要delegated event,因为在DOM加载后会动态添加html:
$(".k-state-focused").on("click", "a#EditWindow", function (e) {
console.log("Asdf");
$.get("ClassificationEditEntity", function(data) {
$(".k-window-content").html(data);
});
});
或:
$(document).on("click", "a#EditWindow", function (e) {
console.log("Asdf");
$.get("ClassificationEditEntity", function(data) {
$(".k-window-content").html(data);
});
});
在委派活动的最后一页详细信息中查看HERE。