2013-08-28 29 views
0

我有一個textarea,它有一些文本在頁面加載。當有人點擊它時,我希望文字消失。當他們點擊它時,如果他們沒有輸入任何內容,我希望文本回來,但是如果他們沒有發生任何事情。該文本是「請在這裏輸入你的答案。」這是我這適用於消除對點擊文本,但不添加它放回如果他們沒有錄入任何。jquery focusout沒有添加文字回

$(".area-3").focusin(function() { 
    $(".area-3").text(" "); 
}).focusout(function() { 
    if ($(".area-3").val().length == 0) { 
    $(".area-3").text("Type your answer here."); 
    } 
}); 

感謝這麼多的任何幫助這個

回答

3

事情是這樣的:

$(".area-3").on({ 
    focus: function() { 
     if (this.value == 'Type your answer here.') this.value = ''; 
    }, 
    blur: function() { 
     if ($.trim(this.value) == '') this.value = 'Type your answer here.'; 
    } 
}); 

FIDDLE

+0

是利用「對」的認爲是更好的做法 – loriensleafs

+0

+1比我全面更好的答案嗎? ,再加上檢查焦點值。 –

+0

如果你使用jQuery 1.7+,on()將是附加事件處理程序的首選方法。 – adeneo