jQuery Mobile& Backbone.js动态图像加载问题

时间:2014-07-28 19:19:26

标签: javascript jquery html cordova backbone.js

我使用Backbone和jQuery Mobile开发了一个相当基本的应用程序。我有一个基本设置页面,在页面上,不同的设置由不同的图像表示。如果设置为开,则图像源设置为一个图像,如果设置为关闭,则当然动态设置为另一个图像。

例如,

<a href="#" class="autoupdateBtn"><img src="images/autoupdate-off.png" style="height:45px;" id="autoupdate" /></a>

现在我正在侦听要点击的链接来更改图标来源,这可以正常工作。我使用Phonegap的localStorage来存储各个设置。所以当页面呈现时,我打电话给:

var d = new Date();
var autoupdate = window.localStorage.getItem('autoupdate');
$('#autoupdate').attr("src", "images/autoupdate-"+autoupdate+".png?"+d.getTime());

现在,第一次加载页面时效果很好,但是很不好,之后就没有了。如果我尝试重新访问该页面,它将只加载源中的默认图像。然而,如果你进入控制台并输入:

,更令人头疼的是
$('#autoupdate').attr('src');

它为您提供了正确的来源!因此属性本身已经改变,但图像本身并没有改变!我尝试过使用像.trigger这样的东西(&#39;创造&#39;)以及所有这些,但根本没有运气 - 任何想法?

1 个答案:

答案 0 :(得分:0)

不是在变量中声明Date(),而是直接在代码中将其用作new Date()。试试以下内容:

$('#autoupdate').attr("src", "images/autoupdate-"+autoupdate+".png?" + (new Date()).getTime());