1

由于它是在 JQM 文档上编写的,因此可以使用 ajax 加载页面/表单。

举例:

<form method="POST" action="mypage" data-ajax="true" id="myForm">

</form>

但是当这个表单被发布时,包含在响应中的 JS 脚本不会被解释。

$("#myPage").live("pageinit", function() {
   // do something
});

该脚本位于页面头部的 JS 文件中。

正如 JQM FAQ 中描述的那样,有一个解决方案

页面特定脚本的另一种方法是在未定义 data-role=page 元素时在 body 元素的末尾包含脚本,或者在第一个 data-role=page 元素内包含脚本。如果您以这种方式包含自定义脚本,请注意这些脚本将在通过 AJAX 或常规 HTTP 加载该页面时执行,因此如果这些脚本在每个页面上都相同,您可能会遇到问题。如果您以这种方式包含脚本,我们建议将您的页面内容包含在 data-role="page" 元素中,并放置在该元素之外的每个页面上引用的脚本。该页面独有的脚本可以放置在该元素中,以确保它们在通过 AJAX 获取页面时执行。

我尝试过:

  • 在我的 div 中包含 JS 文件(data-role="page")
  • 并在我的 div 中包含 JS 脚本(data-role="page")

但两者都不起作用。我发现的唯一解决方案是将 data-ajax 设置为 false ...

有什么建议吗?我想启用ajax导航...

4

1 回答 1

0

.live 是有效的方法还是您在加载第三方 JavaScript 库时错过了?

最好使用 Chrome 并打开 Javascript 控制台并查看错误。

$("#myPage").live("pageinit", function()

于 2013-12-31T14:59:11.287 回答