Javascript onclick事件在嵌入式html中不起作用

Javascript onclick事件在嵌入式html中不起作用,javascript,html,Javascript,Html,我已经使用XMLHttpRequest将html文件文本加载到div元素中。我想说的是,我有一个主html页面,其中填充了另一个html文件。 问题是嵌入的html标记的onclick事件不起作用。看起来,虽然我已经将脚本添加到嵌入式html中,但无法找到和调用这些函数!因此,在控制台中可以看到以下错误 该函数未在上定义 HTMLParagraphElement.onclick 我检查了附加脚本的src(嵌入html),结果还可以。我还尝试将脚本移动到主页面,因为我认为嵌入的html会看到其父h

我已经使用
XMLHttpRequest
将html文件文本加载到div元素中。我想说的是,我有一个主html页面,其中填充了另一个html文件。 问题是嵌入的html标记的onclick事件不起作用。看起来,虽然我已经将脚本添加到嵌入式html中,但无法找到和调用这些函数!因此,在控制台中可以看到以下错误

该函数未在上定义 HTMLParagraphElement.onclick

我检查了附加脚本的src(嵌入html),结果还可以。我还尝试将脚本移动到主页面,因为我认为嵌入的html会看到其父html的脚本,尽管没有成功。我确信我也做了同样的事情,但我不记得我过去到底是怎么做的

嵌入的Html

我希望看到onclick事件的结果,但如上所述,它不起作用。
希望你们能给我一个提示。谢谢。

将脚本加载到头标签中
让mySelectedElement=document.getElementByID(“主容器”);
mySelectedElement.addEventListener(“单击”,函数getHtml(){
//你的经纪人在这里
})


我相信只要MyFunction在范围内,它肯定会起作用。你一定还有别的问题。但是你不应该有重复的标签。您可以在标记之外有一个标记。除非从一开始就加载,否则无法加载Js脚本文件。您不能仅仅附加一个脚本标记并获取该脚本的所有javascript内容file@weegee完美的它很好用。我很惊讶,因为我确实尝试了你的解决方案,但没有成功。但现在它很好用。谢谢你,先生。
<head>
    <title>Menue</title>
    <link href="../styles/menue.css" rel="stylesheet" />
    <script src="../scripts/menue.js"></script>

</head>

<div id="menueContainer">
    <h2 id="menueGameTitle">Monsters' Den</h2>
    <h4 id="menueDesignerTitle">Designed and developed by Retro-Code (Mr. Shahrokni)</h4>

    <p id="menueDescription" onclick="MyFunction()">
        ...
    </p>

</div>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Monsters' Den</title>
    <link href="styles/Index.css" rel="stylesheet" type="text/css" />
    <script src="scripts/Index.js"></script>
</head>
    <body id="mainBody" onload="initIndexPage()">

        <div id="mainContainer">

            <div id="centeredFrame">

            </div>

        </div>
    </body>
</html>
function getHtml(url) {

    var xmlHttpRequest = new XMLHttpRequest();

    // add a random param at the end of the url to avoid cached data. 
    url = url + "?p=" + Math.random;

    xmlHttpRequest.open("GET", url, false);
    xmlHttpRequest.send(null);

    var response = xmlHttpRequest.responseText;
    return response;

}

function loadMenueinFrame() {

    var html = getHtml("./htmls/menue.html");
    var centeredFrame = document.getElementById("centeredFrame");
    centeredFrame.innerHTML = html;
}