use*_*921 4 html javascript jquery
https://jsfiddle.net/cp1ntk45/
我编写了一个函数来替换原始的 html 占位符,然后我可以设置占位符文本的样式。
它适用于 input 和 textarea 元素,
如果目标是 contentEditable div 的问题,单击一次后无法聚焦,无法输入,需要单击第二次才能聚焦...
如何仅单击一次并聚焦
var placeholder = function(el) {
el.on('focusin', function() {
var val = $(this).text();
var placeholder = $(this).attr('data-placeholder');
if (val == placeholder) {
if ($(this).attr('data-empty') != 'false') {
$(this).text('');
}
}
});
el.on('focusout', function() {
var val = $(this).text();
var placeholder = $(this).attr('data-placeholder');
if (val == '') {
$(this).text(placeholder);
$(this).attr('data-empty', 'true');
} else {
$(this).attr('data-empty', 'false');
}
});
};
placeholder($('.textarea'));Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="textarea" contentEditable="true" data-placeholder="placeholder">placeholder</div>Run Code Online (Sandbox Code Playgroud)
您可以在您的元素上使用CSS :empty和。
使用你可以比标记任何你想要的文本。:beforecontenteditablecontent: attr(data-placeholder)
[contenteditable] {padding:12px; background:#eee; }
[data-placeholder]:empty:before{
content: attr(data-placeholder);
color: #888;
font-style: italic;
}Run Code Online (Sandbox Code Playgroud)
<div contenteditable data-placeholder="I'm a placeholder"></div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3000 次 |
| 最近记录: |