Jquery脚本在加载的页面上不起作用

时间:2010-08-28 07:17:29

标签: php jquery jquery-validate

在我的网络应用程序中,我有一个加载另一页的div:$('#main').load('pages/main.php');

main.php包含jquery验证脚本。如果我直接进入主php,这个脚本工作,但如果我将在我的索引页面上使用此页面加载main.php,则无法正常工作。

我该如何解决这个问题?

提前致谢。

4 个答案:

答案 0 :(得分:1)

我最终使用.livequery()来解决这个问题! :)

看看。

http://plugins.jquery.com/project/livequery/

包含插件,然后在index.php中需要这样的东西

<script type="text/javascript">
$(document).ready(function(){

            $('#yourInputField') 
              .livequery(function() { 
                 $('#yourInputField').YourValidatorPlugin(); 
        });
});
</script>

答案 1 :(得分:1)

正如Inrbob指出的那样,问题是将内容加载到元素中不会加载也不会执行脚本元素。将新脚本应用于页面的适当方法是实现:

var s = $("<script src='" + script_location_for_validation + "'/>");
$("body").append(s);

这将延迟加载javascript并将代码保留在页面之外(如果您希望使用缓存来提高后续页面加载的速度,则很重要。)

除此之外,最好将您的库和脚本放在页面的末尾,这样它们就不会阻止其他下载或渲染。

答案 2 :(得分:1)

非常容易

  1. 将所有使用main.php的javascript函数保存在外部文件中,并将其包含在当前页面中。
  2. 将内容加载到div。
  3. 调用相应的函数。
  4. 它会起作用。

答案 3 :(得分:0)

.load()不会回退脚本。这是docs

中默认功能的一部分