我有一个突出显示表单字段javascript,链接在我的filea.php的头部。我正在加载另一个名为fileb.php的文件,其中包含一个表单。现在虽然filea.php已经引用了带有高亮表单字段代码的外部javascript,但是加载页面的字段在选中时不会变亮,即js对加载的页面没有任何影响。
如果我在加载的页面上引用外部js文件,它可以正常工作。但我为什么要这样做?例如,fileb.php上没有引用css,但该页面上的表单根据filea.php上引用的样式表进行样式设置。为什么脚本不一样?
P.S。我正在执行.load函数之前加载外部js文件,这应该不是问题。
答案 0 :(得分:0)
狂野猜测:当filea.php
中的JavaScript加载并运行时,fileb.php
中的HTML不存在,因此JavaScript无法对其执行任何操作。您可以使用.live()
或.delegate()
来连接,否则您必须使用回调手动执行.load()
的HTML上的JavaScript:
$(stuff).load('fileb.php', function() {
// The new HTML has been loaded into "stuff"
// so you can run the JavaScript to bind whatever
// it is that you're doing to the new HTML elements.
});
如果您正在做的不仅仅是添加事件处理程序,那么.live()
和.delegate()
可能无效,您必须使用.load()
上的回调作为上方。
进一步阅读: