Очистка Textarea на Blur (jQuery) - PullRequest
0 голосов
/ 21 июня 2010
// Clearing Textarea
$('textarea').focus(function() {
   var $this = $(this);
   $.data(this, 'img', $this.css('background-image'));
   $this.css('background-image', 'none');
});
$('textarea').blur(function() {
    if($.trim($('textarea').val()).length){
         $this.css('background-image', 'none');
    } else {
        $(this).css('background-image', $.data(this, 'img'));
    }
});

Когда я щелкаю текстовую область, и хотя в ней есть содержимое, я все равно вижу фоновое изображение.

Спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 21 июня 2010

В вашей функции размытия у вас есть $ this, но оно никогда не определяется. Вы только определили это в области действия функции focus ().

2 голосов
/ 21 июня 2010

Добавление к тому, что Мэтт сказал. $this не было определено. Вам нужно было $(this):

$('textarea').blur(function() {
  if($.trim($('textarea').val()).length){
    // Added () around $this
    $(this).css('background-image', 'none');
  } else {
    $(this).css('background-image', $.data(this, 'img'));
  }
});
...