我有「contenteditable」div元素。我想爲它設置水印,以便當用戶嘗試在div中寫入某些內容時,水印應該消失。Watermark for contenteditable div元素
我嘗試了一些水印jQuery插件,所有的工作輸入,textarea。爲contenteditable div實現此功能的方式是什麼?
我有「contenteditable」div元素。我想爲它設置水印,以便當用戶嘗試在div中寫入某些內容時,水印應該消失。Watermark for contenteditable div元素
我嘗試了一些水印jQuery插件,所有的工作輸入,textarea。爲contenteditable div實現此功能的方式是什麼?
如果通過「水印」的意思是像一個佔位符的效果,這個概念應該是相當簡單:
var mark = 'Watermark',
edited = false;
$('[contenteditable]').focus(function() {
if(!edited) {
$(this).empty();
}
}).blur(function() {
if(!$(this).html()) {
$(this).html(mark);
}
}).keyup(function() {
edited = true;
}).text(mark);
這裏是我的回答另一個問題:
它採用了jQuery和CSS3的結合。 與html5佔位符屬性完全相同!。
HTML:
<div class="placeholder" contenteditable="true"></div>
CSS3:
.placeholder:after {
content: "Your placeholder"; /* this is where you assign the place holder */
position: absolute;
top: 10px;
color: #a9a9a9;
}
的jQuery:
$('.placeholder').on('input', function(){
if ($(this).text().length > 0) {
$(this).removeClass('placeholder');
} else {
$(this).addClass('placeholder');
}
});
很爽。但是有一個問題,如果一個用戶使用「mark」編寫相同的文本,那麼這是一個問題。 – Abhishek 2012-03-03 22:00:11
您可以添加一個鍵盤標誌,請參閱我的編輯。這只是概念上的,您可能需要進一步測試以確保您的應用程序安全。 – David 2012-03-03 22:15:32
我的DIV元素是自動對焦的。改變你的密碼位 '$('[contenteditable]')。bind(「focus keydown」,function(){ ... //同您的代碼 ' – Abhishek 2012-03-03 22:28:10