2010-06-21 94 views
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')); 
    } 
}); 

當我點擊textarea時,儘管裏面有內容,但我仍然可以看到背景圖片。模糊清除Textarea(jQuery)

感謝您的幫助!

+0

你會如果你使用Firefox的擴展Firebug已經很容易找到這個錯誤:)我強烈推薦它爲JavaScript編程 – Znarkus 2010-06-21 16:20:11

回答

2

加什麼Matt說。 $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')); 
    } 
}); 
3

在你的模糊函數中,你有$ this,但它永遠不會被定義。你只在focus()函數的作用域中定義它。