我有一个PHP文件(名为aboutMe.php),其中包含一些HTML,如下所示:
<script type="text/javascript" src="/aboutMe.js"></script>
<div id="aboutme-gender" class="aboutme-block">
<div class="aboutme-question">My gender is:</div>
<div class="aboutme-error">Please select your gender.</div>
<div class="aboutme-answer">
<input id="gender-male" name="the-gender" type="radio" value="1" />
<label for="gender-male">Male</label>
<input id="gender-female" name="the-gender" type="radio" value="2" />
<label for="gender-female">Female</label>
</div>
</div>
&#13;
aboutme.js文件包含如下函数:
jQuery(document).ready(function($) {.....does stuff to the tags in the HTML});
如果直接加载页面,这一切都正常。但是,当另一个页面想要动态加载时,如下所示:
$("#load-aboutme-here").load("aboutMe.php");
... document.ready()事件没有触发,事情也没有被标记。
我看过类似的帖子,但却无法从他们那里得到我需要的东西。已经完成了替换window.load()的document.ready()之类的事情,但是当直接加载aboutMe.php页面时它甚至都不起作用。
任何想法都非常感激 - 这让我感到疯狂,虽然我怀疑它很容易解决!
由于 伊恩
答案 0 :(得分:0)
如果我理解你的问题,我相信你可以像.load()
那样为$("#load-aboutme-here").load("aboutMe.php", null, function()
{
// Code to be executed when aboutMe.php is loaded.
// i.e. The code in aboutMe.js
});
函数创建一个回调:
db.friends.where({name: "David", age: 43}).first(friend => {
console.log("Found David, 43: " + JSON.stringify(friend));
}).catch(error => {
console.error(error.stack || error);
});
答案 1 :(得分:0)
请注意,该文档是主页面...而不是您检索的后续文件
文档在ajax完成之前就已经准备好了,所以在它准备就绪后调用的任何$(document).ready()
都会立即触发。在你的情况下,它将在元素存在之前触发
将脚本标记移动到代码引用的html下面
<div id="aboutme-gender" class="aboutme-block">
.......
</div>
<script type="text/javascript" src="/aboutMe.js"></script>