我有这个JQuery代码和JS代码下面的链接。如果链接在JS代码下面,它似乎不起作用,但如果JS代码在链接之下,它就可以工作。
如何使用链接上方的JS代码?我需要这样做,因为我在使用PHP包含的文件中包含JS代码。
<div id="EditPage" class="EditPagePopup">
<iframe id="EditPageFrame" width="100%" height="80%" src=""></iframe>
<a id="JQueryClose">×</a>
</div>
<script>
$("a#EditPageLink").click(function (e) {
alert("f");
e.preventDefault();
$("#EditPageFrame").attr("src", $(this).attr("value"));
$("a").removeClass("active");
$(this).addClass("active");
JQueryPopup('#EditPage');
});
</script>
<a id="`EditPageLink`" href="#" value="editcustomer.php?seq='.$customer["sequence"].'"
答案 0 :(得分:3)
它不是必须的,但建议使用它。阅读this previously asked question。
你应该做的是使用jQuery&#39; ready function来确保在附加事件之前DOM已经完成加载。例如:
$(function() {
$("a#EditPageLink").click(function (e) {
alert("f");
e.preventDefault();
$("#EditPageFrame").attr("src", $(this).attr("value"));
$("a").removeClass("active");
$(this).addClass("active");
JQueryPopup('#EditPage');
});
});
这样做会正确附加事件,无论脚本标记出现在html中。
答案 1 :(得分:0)
当代码高于html时,它可能会在DOM完全加载之前执行。建议将依赖于DOM的javascript放在页面底部以避免此问题。
答案 2 :(得分:0)
将脚本一直放到底层已经成为惯例,因为浏览器可以渲染页面并最后加载和运行脚本。
它曾经是head标签内的所有脚本。但实际上你可以将脚本放在任何地方,将所有内容放在一个地方(顶部或底部)使你的标记可读和可维护。