切换背景图像(jQuery)

时间:2010-06-21 13:20:40

标签: jquery background textarea toggle

$('textarea').focus(function() {
    var img = $(this).css('background-image');
    $(this).css('background-image', 'none');
});
$('textarea').blur(function() {
    $(this).css('background-image', img);
});

..似乎不起作用。我觉得有些不对劲,但我无法弄清楚是什么。

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:7)

如果你定义

var img

.focus()事件处理程序内部,该变量将无法在其中使用 .blur()

因此要么定义var img全局,要么使用jQuerys .data()方法。

写:

$.data(this, 'img', $(this).css('background-image'));

读:

$.data(this, 'img');

示例:

$('textarea').focus(function() {
   var $this = $(this);
   $.data(this, 'img', $this.css('background-image'));
   $this.css('background-image', 'none');
});
$('textarea').blur(function() {
   $(this).css('background-image', $.data(this, 'img') || '');
});

答案 1 :(得分:0)

尝试在css中定义图像的url-address。

var img = 'images/mybg.png';
$('textarea').blur(function() {
    $(this).css('background-image', 'url('+img+')');
});
相关问题