我有一个网页 Default.html,它通过 jquery 脚本对 PHP 脚本进行 ajax() 调用。如果 POST 数据满足某些条件,那么 PHP 会:
echo file_get_contents('Restrict/Restrict.html');
这个回显是一个受限文件的内容作为 (msg) 返回到 jquery 脚本,然后执行
document.write(msg);
这非常适合显示 Restrict.html 的 HTML 内容,但是一旦页面加载,与 Restrict.html 关联的 jquery 都不起作用。
我已经尝试将 Restrict.html 的 jquery 脚本放在与调用页面 Default.html 相同的文件夹中,并将其包含在带有标签的 Default html 中。我还重写了 jquery 方法以使用 live() 来确保事件绑定到动态创建的元素。似乎没有任何效果。请有人能启发我。我在 document.write 中使用了错误的技术吗?或者也许是 jquery 使用 document.ready() 的问题?很高兴提供更多代码,但这里涉及很多。
这是 Restrict.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"
>
<html lang="en">
<head profile="http://www.w3.org/2005/10/profile">
<title>Project page</title>
<link rel="stylesheet" href="ento.css" type="text/css">
<script src="jquery.js"></script>
<script src="RestrictScripts.js"></script>
</head>
<body>
<span class="titleText">Your project page</span>
<div id="mainwrapper">
<div id="logoSquare" class="entoSquare">
<span class="titler">Logo</span>
</div>
<div id="screenshotSquare" class="entoSquare">
<span class="titler">Current screenshot</span>
</div>
</div>
<!--END MAIN-->
<!--HIDDEN POPUPS-->
</div>
<div id="largeSS" class="largeBox">
<img src="Site.png">
<img src="close.png" class="closer">
</div>
<div id="largeLogo" class="largeBox">
<img src="LogoLarge.png">
<img src="close.png" class="closer">
</div>
</body>
</html>
这是 RestrictScript.js
$('document').ready( function(){
//page help
//click small images to loads overlays
$("#screenshotSquare").live("click", function(){
console.log("Anything?");
$("#largeSS").css('visibility','visible');})
});