gpt4 book ai didi

javascript - jQuery 在动态 HTML 上为 treeview 插件注册点击事件

转载 作者:行者123 更新时间:2023-11-30 12:56:22 24 4
gpt4 key购买 nike

我正在使用 JQUery treeview 插件将我的数据显示为树结构。问题是我正在从 JSON 响应对象动态生成我的 HTML。这永远不会按预期工作。元素未注册点击事件。

如果我对动态 HTML 进行硬编码,我就能看到预期的结果。我调试并了解到 JQuery 注册了现有 HTML 元素的点击事件,而不是动态形成的元素。请告诉我如何为点击事件注册它们。

function show(jsonResp) {
//Parsing the JSON response and building HTML on the fly.

$red = '';
for (var i = 0; i < treeElements.length; i++) {
$red = $red + treeElements[i];
}

$("#user-records").append($red);
$("#red").treeview({
animated: "fast",
collapsed: true,
unique: true,
persist: "cookie",
toggle: function () {
window.console && console.log("%o was toggled", this);
}
});

}

此 TreeView 代码调用函数以根据用户点击事件展开和折叠。所有这些事件都在 treeview.js 中注册

 this.find("div." + CLASSES.hitarea).click( toggler );

我在 chrome 中调试并检查我的新 div 是否已注册到点击事件。但是当我点击时没有任何反应。

P.S:如果我复制生成的 HTML 元素的控制台日志,并创建一个不同的页面,它会完美地工作。唯一的问题是动态添加 HTML 代码时。我不知道在哪里为这个新添加的动态 HTML 代码注册点击事件。

最佳答案

是你吗?

$(document).on("click", ".selector", function() {
// your code
});

使用此代码,您可以在生成的内容上绑定(bind)事件。这是一个例子:http://jsfiddle.net/cB8Tf/

关于javascript - jQuery 在动态 HTML 上为 treeview 插件注册点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com