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;
}