繁体   English   中英

JQuery On Click 事件不使用 JS 创建的元素触发

[英]JQuery On Click Event not firing with JS created elements

我仍在学习 JS 和 JQuery,并且遇到了 on click 事件未触发的问题。 我创建了一个菜单,其标题应该是可点击的。

            var title = document.createElement('h1');
            title.textContent = "HW Tools";
            title.className += "SelectableMenu";
            hwSection.appendChild(title);

在 Jquery 部分,我有:

    $(document).ready(function () {
        $("#Menu_HW_Main").on('click', '.SelectableMenu', function () {
            alert("Test");
        })

其中 #Menu_HW_Main 是包含菜单的 div 的 id。 但是,当我单击标题时,警报不显示。

当我在 DOM 中创建标题/菜单时,事件触发得很好。 但是当我通过 JS 创建它时,它不会触发。 我错过了什么?

您的代码看起来不错,但您可以只使用jQuery来创建h1而不是混合 vanilla JS

var h1 = $('<h1/>', {'text':'HW Tools', 'class':'SelectableMenu'});

$("#Menu_HW_Main").append(h1);

如果"#Menu_HW_Main"也是一个动态(由js创建)元素,那么试试这个:

$(document).on('click', '.SelectableMenu', function () {
    alert("Test");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM