我将在下面以主题方式提出我的问题,tks提前阅读!
功能:
$("#someAJAXContainer").load("someHTML.html");
上下文:我希望只有一个起始页,然后我将在中间添加一个 div,所有内容都将动态加载。与母版页非常相似(如果不相同)。
...
<body>
<div id='menu'></div>
<div id='someAJAXContainer'></div>
<button>loadAjaxDiv</button>
<div id='footer'></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery-ui.min.js"> </script>
<script src="functions.js></script>
</body>
...
functions.js 会是这样的:
$(document).ready(function(){
$("#someAJAXContainer").load("someHTML.html");
$("button").button();
$("#responseA").click(function(event){
alert("the link should no longer took you to jquery.com");
event.preventDefault();
});
});
问题:当 AJAX 响应 HTML 加载到容器上时,它没有链接到已经存在的 JQuery 代码。因此,如果响应类似于:
<div id ='response'>
<a id = 'responseA' href="http://jquery.com/">jQuery</a>
</div>
该链接将带您到 jquery.com 页面:(
所以我解决这个问题的方法是使用(在functions.js上):
$("#someAJAXContainer").load("someHTML.html", function() {
$("#responseA").click(function(event){
alert("the link should no longer took you to jquery.com");
event.preventDefault();
});
});
但是现在我有多个级别的内部 ajax 并且它的代码很乱!我不太喜欢它的工作方式。所以我想知道我在这里可能会犯什么样的错误。这在结构、良好实践和层面上是否正确?
希望我对这个问题很清楚。我一直在谷歌上搜索,我得到的唯一答案与之前提出的答案相似,但都非常模糊。
问候;