清除模糊文本区域 (jQuery)

发布于 2024-09-06 21:57:33 字数 469 浏览 13 评论 0原文

// 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'));
    }
});

当我单击文本区域之外时,尽管其中存在内容,但我仍然看到背景图像。

感谢您的帮助!

// 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'));
    }
});

When I click out of the textarea, and although there is content present in it, I still see the background image.

Thanks for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

机场等船 2024-09-13 21:57:33

在你的模糊函数中,你有 $this,但它从未被定义。您仅在 focus() 函数的范围内定义了它。

In your blur function, you have $this, but it is never defined. You only defined it in the scope of the focus() function.

久而酒知 2024-09-13 21:57:33

添加马特所说的内容。 $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'));
  }
});

Adding to what Matt said. $this wasn't defined. What you needed to do was $(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'));
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文