0

我目前正在开发基于 jQuery Mobile 的应用程序。我们选择它是因为在那一刻它看起来如此闪亮和美味,但随着我的工作越多,我就越会陷入多种事情。

我分别创建了所有页面并且它们工作正常,但是在将它们相互链接后,我开始遇到一些困难。

对于每个页面,我需要加载不同的脚本和 3rd 方库,经过一些研究后,我想出了为 data-role="page" 添加 id 并使用 .delegate() 加载它们,但这给我带来了麻烦,所以问:

1)当你移动到另一个页面时,如何取消绑定/杀死/清除/删除所有加载的脚本?

问题是,当我要转到“第 2 页”并执行以下操作时:

$(document).delegate('#page-2', 'pageinit', function() {

...do something

});

转到“第 1 页”或“第 3 页”后,使用 #page-2 .deligate() 加载的内容仍保留在 DOM 中并与其他页面上的脚本发生冲突。


PS 凌乱但整个文件可以在这里看到 - http://cloud.ignatynikulin.com/011R3x2k401i271N420N


PPS 另一个问题的快速更新:

为什么如果条件在 .deligate() pageInit 中不起作用以及如何使其起作用?


谢谢

4

2 回答 2

0

不完全是答案,但你能在单独的文件中移动一些页面吗?就我而言,如果我想编辑列表中显示的项目,我将使用单独的 aspx 文件。例如,

<ul data-role="listview">
  ...
  <li>
    <a href="ItemPage.aspx?Id=1" rel="external">Item1</a>
  </li>
  ...
</ul>
于 2012-05-16T10:43:11.063 回答
0

我猜你的问题是关于如何从 DOM 中删除加载的脚本。

在同一行中发现了一个现有问题: JavaScript 不是 DOM 的一部分吗?

于 2012-05-16T10:53:39.440 回答