首页 > 解决方案 > 即使在使用 $(document).ready(function() {}); 甚至在使用 $(function) 块之后

问题描述

我正在尝试id=obj1从字符串中提取html_doc并尝试附加onclick function到它

document.addEventListener("DOMContentLoaded",
function (event) {
    $ajaxUtils.sendGetRequest("data/GOG123.json", 
        function (res) {
            var residue=res.residues;

            var html_doc = "<div>" + "<Button id = obj1>" + residue[0].index + "</Button> " + "</div>";
            console.log(html_doc);

            var html_doc2;

            html_doc2= $("html_doc").find("obj1");
            $(document).ready(function(){
                html_doc2.click(function () {
                    alert("Hello!");
                });
            });

            var div1=$("#infoDiv");
            div1.append(html_doc);
        }
    );

});

它不工作(即不显示警报消息)也没有抛出任何错误。

有人可以帮助我吗?

我提到了为什么这个 jQuery 点击功能不起作用?但这对我没有用。

标签: javascriptjqueryhtml

解决方案


尝试将 ajax 放入函数或文档中。如果您知道 id,则无需提取 id 可以做同样的事情。

var html_doc = "<div>" + "<Button id = obj1> Click" + "</Button> " + "</div>";//instead of click put ur code
var div1 = $("#infoDiv");
div1.append(html_doc);

$(document).ready(function() {
  $("#obj1").click(function() {
    alert("Hello!");
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id=infoDiv>This is div info</div>


推荐阅读