1

我到处搜索,查看了所有答案,但仍然找不到适合自己的解决方案。链接数据图标中的自定义 png 图像未显示在标题中。这是我的结构:

<div data-theme="b" data-role="header" data-position="fixed" data-tap-toggle="false" style="height:100px">
    <img style="width:100%; height:100px" src="style/images/appbg.png" alt="Header"/>
    <a data-role="button" data-iconpos="left" data-icon="my-home">Home</a>
</div>

在头部我有:

<style>.ui-icon-my-home{background-image: url("style/images/home.png");}</style>

看起来它应该工作。我尝试添加样式 50% 50% no-repeat,尝试将其添加到 css 文件中……没有任何效果。

我正在使用 jquery 2.0 min、jquery-mobile-1.3.1.min 和 jquery-mobile-1.3.1.min.css。也许这些新版本不起作用?我应该使用旧版本吗?

我也先加载 CSS,然后是 jQuery,最后是 jQuery Mobile。另一件事是,当我执行常规 img 标签时,图像会显示出来……所以路径是正确的。只有当我尝试将图像输入到链接数据图标中时,它才会显示出来。请在这里帮我...

4

1 回答 1

0

我可以看出你已经理解了我的问题,我必须承认我喜欢能看穿问题的人。

如果您想了解这个问题,您需要了解jQuery Mobile 的工作原理。如果以标准方式使用,它将所有内容存储在 DOM 中,因此使用的每个 HTML 页面都将存储在 DOM 中。如果您不知道发生了什么,这可能会导致问题,不幸的是,即使您查看了官方文档,您也不会发现这一点被明确告知。

只有第一页完全加载,每隔一页只加载 BODY,即使这样也只有 data-role="page" DIV。其他一切都将被丢弃。不幸的是,事情就是这样,所以你需要小心。在我之前的链接中,您可以找到一些预防方法。

其他问题是身份证。因为 DOM 是如何工作的,所以你可以在里面拥有相同的 id,但是如果你尝试以某种方式访问​​它们,只会访问第一个。基本上你需要确保每个页面都有一个唯一的 ID。其余内容可以相同,因为 jQuery Mobile 有一个不错的选择器:

 $.mobile.activePage

它可用于访问当前活动页面中的当前数据,例如:

$.mobile.activePage.find('someID');
于 2013-05-29T16:42:04.423 回答