Javascript 加载整个页面后,如何使用backbone.js(或者可能不需要它)重新呈现特定元素?

Javascript 加载整个页面后,如何使用backbone.js(或者可能不需要它)重新呈现特定元素?,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,假设我的页面已成功加载。 文档中有一个img元素,如下所示: <div class="pro_list_imgbox"> <img src="http://XXXX.com/bazinga.jpg" /> </div> events: { 'click .pro_list_imgbox': 'loadPic', }, loadPic: function (e) { var target = $(e.targe

假设我的页面已成功加载。 文档中有一个img元素,如下所示:

<div class="pro_list_imgbox">
    <img src="http://XXXX.com/bazinga.jpg" />
</div>
events: {
        'click .pro_list_imgbox': 'loadPic',
    },

loadPic: function (e) {
        var target = $(e.target),
            pic = target[0].nodeName === 'IMG' ? target : target.find('img');

        if (!pic.data('loadState')) {
            pic.attr('src', pic[0].src += '?t' + new Date().getTime());
        }

    },
我的问题是,在单击这个img元素后,如何重新渲染它? 我的loadPic功能可以工作吗?以随机数作为src的后缀
也许我还应该做些什么?

看起来您正在从后端控制器检索图像,并且该图像根据检索时记录的日期时间进行标记

要检索同一图像,必须保存用于检索该图像的源。考虑到您已经拥有的代码,我认为最直接的答案是使用
$.data()
将图像源存储在图像的
元素中,如下所示

单击的
元素现在将具有该图像的最后一个源字符串,并且可以使用

loadPic: function (e) {
  var target = $(e.target),
  pic = target[0].nodeName === 'IMG' ? target : target.find('img');

  if (!pic.data('loadState')) {
    var picSource = pic[0].src += '?t' + new Date().getTime();
    pic.data({ source: picSource });
    pic.attr('src', picSource);
  }
}

点击后你的图像去了哪里?为什么在图像源的尾部需要一个随机数?@seebickite我的代码是为了解决一个问题:当img加载失败时,如果我单击该img,则再次加载相同的img。确定。为什么要添加随机数后缀?@seebickit我尝试在源url后添加一个随机数,然后查看浏览器是否会请求并重新呈现img(似乎此解决方案不起作用)。因此,我在这里想问的是,在没有另一个ajax请求的情况下,如何通过backbone.js或本机javascript重新呈现img元素。如果第一次未呈现图像,则可能必须从服务器重新获取图像。我将从DOM中删除
元素并重新插入它。你想让我教你怎么做吗?这将导致另一次提取。
var imageSource = $('img-selector').data(source);