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

时间:2011-05-25 16:52:57

标签: jquery

我目前有一个图像在你点击时会发生变化,但是当我点击另一个图像时,我希望它返回到默认的图像状态。

我到目前为止的代码如下。

$('a img.lrg').click(function(){
  var newSrc = $(this).attr("src").replace("largefont.gif", "largefonton.gif");
  $(this).attr("src", newSrc); 
});

如何更改此功能以达到预期效果?

谢谢,

周六

4 个答案:

答案 0 :(得分:1)

查看jQuery的blur()函数。 http://api.jquery.com/blur/

答案 1 :(得分:1)

使用data()来保存旧的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/

答案 2 :(得分:0)

$(this).attr("src", "largefonton.gif");

这会有帮助!!

答案 3 :(得分:0)

$('a img').click(function(){
  var newSrc = $(this).attr("src").replace("largefonton.gif", "largefont.gif");
  $(this).attr("src", newSrc); 
});

您可以为所有> img标记添加全局操作,将其放在$('img.lrg')之前。单击(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或通过一些随机变量来选择