2014-04-25 40 views
0
的每一次执行
function first(Objs) { 
    var imgid= Objs; 
    secondMethod(imgid); 
    $('#imags_'+imgid.id).one('click', function(e) { 
     alert(imgid.id) 
    });  
} 

function secondmethod(imgid) { 
    var boxText = document.createElement("div"); 
    boxText.id="imags_"+imgid.id; 
    boxText.innerHTML = '<div id="content" >' + '<img src=\"image.png\" width=\"50px\" height=\"50px\" id ="\images_id\" />' + '</div>';   
} 
  • 我耳目一新(执行)第一每隔10秒(Objs.id=1)方法。
  • 因此,它的两种方法每10秒执行一次,即
  • 刷新3次(即执行3次)后的示例,然后当点击图像时,我获得3次imageid(即警报输出为1)。
  • 如何获取只有一个输出,当我点击图像与上次执行的对象ID。
  • 请帮我解决这个问题。

回答

0

给图像类:

boxText.innerHTML = '<div id="content" >'+   
    '<img src=\"image.png\" width=\"50px\" height=\"50px\" class ="\images_id\" />'+ 
    '</div>'; 

,并使用委派事件:

$(document).on('click', '.images_id', function() { 
    alert(this.id) 
}); 

而且,你的例子并没有表现出来,但我认为boxText追加到DOM在某一点?

+0

感谢您的快速回放..使用这个var boxtext我在map.am上显示图像刷新地图每10秒与image.image得到的地图,但当我点击我得到3刷新后3 IDS警报getting.i使用代表也。 – kks

+0

我用'if($('#imags _'+ imgid.id).is(':visible')){}'来避免在刷新时已经在地图上可见。 – kks