jQuery单击事件元素以将图像切换回默认值

问题描述

| 我当前有一个图像,当您单击它时会更改,但是当我单击另一个图像时,我希望它返回到其认图像状态。 我到目前为止的代码如下。
$(\'a img.lrg\').click(function(){
  var newSrc = $(this).attr(\"src\").replace(\"largefont.gif\",\"largefonton.gif\");
  $(this).attr(\"src\",newSrc); 
});
如何更改此效果以达到预期效果? 谢谢, 周六     

解决方法

用ѭ1hold住旧的src
$(\'a img.lrg\').click(function(){
  $(\'a img.lrg\').each(function(index,item){
     if($(item).data(\'old-src\') != undefined){
          $(item).attr(\'src\',$(item).data(\'old-src\')); // bring back old image
     }
  })
  var old_src = $(this).attr(\"src\");
  $(this).data(\'old-src\',old_src);
  var newSrc = $(this).attr(\"src\").replace(\"largefont.gif\",\"largefonton.gif\");
  $(this).attr(\"src\",newSrc); 
});
小提琴:http://jsfiddle.net/maniator/94CqN/     ,查看jQuery的blur()函数。 http://api.jquery.com/blur/     ,
$(this).attr(\"src\",\"largefonton.gif\");
这会帮忙!!     ,
$(\'a img\').click(function(){
  var newSrc = $(this).attr(\"src\").replace(\"largefonton.gif\",\"largefont.gif\");
  $(this).attr(\"src\",newSrc); 
});
您可以为所有a> img标签添加全局操作,将其放在$(\'a img.lrg \')。click(function(){jquery之前,否则它将在 否则您可以使用鼠标事件,如果您离开图片(可以将其放在任何地方)
  $(\'a img\').mouseout(function(){
      var newSrc = $(this).attr(\"src\").replace(\"largefonton.gif\",\"largefont.gif\");
      $(this).attr(\"src\",newSrc); 
    });
或者,您可以为img标签设置一个唯一的ID:因此,您可以通过img.className#unqiueID在页面加载时设置的ID或某个随机变量进行选择