现在,当我点击textarea输入文字时,我有一个占位符出现在我的textarea的背景中。
但是,即使我没有点击textarea内部,我也希望占位符显示。我只想在加载textarea时出现文本?
这是占位符的主要代码:
if (selectItem != null) {
var notesContent = selectItem.description;
var textarea;
var browser = BrowserSide.BrowserCompatibility.GetBrowser();
if (browser == "Explorer") {
textarea = '<div class="light-list-box" style="padding:10px;width: 100%; height: 100%; border:none "><textarea id="notes-content" class="image-textarea" style="resize: none; width:85%; height:195px; overflow:auto" cols="5" rows="10" name="Note">{0}</textarea></div>';
} else {
var placeHolder = BrowserSide.GlobalObjects.getString("TextareaPlaceHolder");
textarea = '<div class="light-list-box" style="padding:10px;width: 100%; height: 100%; "><textarea placeholder="' + placeHolder + '" id="notes-content" class="image-textarea" style="resize: none; width:85%; height:195px; overflow:auto" cols="5" rows="10" name="Note">{0}</textarea></div>';
}
if (notesContent != null && notesContent != '') {
$('#notes-content').css('padding', '6px');
textarea = BrowserSide.GlobalObjects.stringFormat(textarea, notesContent);
}
else {
textarea = BrowserSide.GlobalObjects.stringFormat(textarea, '');
}
updateSelector();
notes.html('');
notes.append(textarea);
notes.show();
}
};
如果未在内部选择/点击文本区域,如何进行占位符显示?
答案 0 :(得分:1)
一个jquery解决方案:
您可以使用.focus()
和.blur()
个事件来处理您的textarea内容:
所以,当你集中注意力时,你不需要显示任何东西:
$('textarea').focus(function () {$(this).empty()});
当你不关注它时:
$('textarea').blur(function () {$(this).html('your placeholder...').css('color','gray');});
您还可以检查用户是否输入了任何内容:
$('textarea').blur(function () {
if ($(this).text().length == 0)
$(this).html('your placeholder...').css('color','gray');
});
注意:记得在加载文档时设置占位符。编写一个全球使用的函数是很好的:http://jsfiddle.net/vesc1zLy/6/
答案 1 :(得分:1)
简单的解决方案:DEMO at JSBin
<textarea type="text" placeholder="enter your text"
onfocus="this.placeholder = ''"
onblur="this.placeholder = 'enter your text'">
</textarea>
答案 2 :(得分:0)
您可以使用定位的:after
伪元素:
.light-list-box {
position:relative;
}
.light-list-box:after {
position:absolute;
top:0;
left:0;
content: 'your placeholder text'
}