javascript - 如何将事件绑定(bind)到动态创建的 JQuery DOM 元素

标签 javascript jquery jquery-plugins

我在尝试创建的插件中引用对象时遇到问题。

该插件与 div 容器关联。

当 dom 准备好时,它会加载启动默认值 - 使用它知道的 id 和一个无序列表创建自己的 div。我可以添加列表项,并且它们可以使用 $this.append(..) 正常工作。不过,我想添加一个功能,单击单个列表项即可执行某些操作......现在警报就足够了。

通常我能够做到:

$("#myId").click(function(){...

我如何将这样的功能添加到插件中?

我希望由插件本身设置该操作,因此单击由插件创建的列表项已经附加到我已写入 jquery 插件的某些功能。

最佳答案

根据您的评论,您可以将新选项卡存储在变量中:

var newTab = $("<li id='tab#" + o.tabCount + "' myTabPane='" + 
    o.tabId + o.tabCount + "' class='tab'><h3>Tab " + o.tabCount
    + "</h3></li>");
$('#' + o.tabListId).append(newTab);
newTab.click(function() {
    var paneId = '#' + $(this).attr('myTabPane');
    $(paneId).siblings().hide();
    $(paneId).show();
});

链接到working example at jsfiddle .

顺便说一句,您的原始脚本将第二个 ' 放在了错误的位置:

$("<li id='tab#'" + o.tabCount + " class='tab'><h3>Tab "
              ^^^

关于javascript - 如何将事件绑定(bind)到动态创建的 JQuery DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195674/

相关文章:

javascript - 检索 localStorage 后函数停止工作

javascript - 是否可以通过 Google 自动完成 API 获取地点图像?

javascript - 如何在 VBScript 中引用 Photoshop 文件夹对象

javascript - 使用统计数据的简单可视化(网络应用程序)

javascript - 从sqlite数据库获取结果

jquery - Flatpickr - 限制可以选择的日期数量

javascript - 将 jquery 响应分配给最近 tr 中类名的 div

jQuery 拖放 ul 和 li 元素

javascript - 给出错误的Jquery冲突

javascript - 在页面中多次使用时,JQuery 插件不起作用