如何在未选择文本区域时显示占位符
How can I make my placeholder show when the textarea is not selected?
现在,当我单击文本区域输入文本时,我有一个占位符出现在文本区域的背景中。
但是,我希望即使我不在文本区域内单击,占位符也能显示。我只想在加载文本区域时显示文本?
这是我占位符的主要代码:
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();
}
};
如何在文本区域中未选择/单击时显示占位符?
一个jquery解决方案:您可以使用.focus()
和.blur()
事件来处理文本区域的内容:
因此,当您集中注意力时,您无需显示任何内容:
$('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/
简单的解决方案:JSBin 的演示
<textarea type="text" placeholder="enter your text"
onfocus="this.placeholder = ''"
onblur="this.placeholder = 'enter your text'">
</textarea>
您可以使用定位:after
伪元素:
.light-list-box {
position:relative;
}
.light-list-box:after {
position:absolute;
top:0;
left:0;
content: 'your placeholder text'
}
相关文章:
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 延迟高亮显示文本区域中的文本
- 悬停时以矩形突出显示整个标签区域
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 如何在谷歌地图中突出显示一个州点击一个国家的任何区域
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- JavaScript 在更改选择时不显示文本区域
- 模式显示文本区域内容不是字符串
- JQuery/JavaScript - 突出显示输入或文本区域中的一部分文本
- 在文本区域显示未定义的javascript数组
- 骨干木偶区域显示不渲染
- 如何使用 JavaScript 在文本区域显示光标
- 已禁用文本区域显示整个文本
- 在特定区域显示我的下拉框
- Jquery循环并在文本区域显示json数据
- 是否可以在文本区域显示粗体和非粗体文本
- 如何从文本区域显示空格
- 如何在文本区域显示输入(名称+值)
- jQuery在文本区域显示html,排除一个元素
- 当悬停其他内容时,下拉/在一个区域显示特定内容