Jquery 如果可编辑div没有文本,则设置占位符
我正在尝试使用占位符创建可编辑的div。但我希望在此div中没有文本时自动设置占位符 实际上,我使用的是contentEditable='true';这个元素位于div.上,我是这个函数的jQuery句柄占位符。 `Jquery 如果可编辑div没有文本,则设置占位符,jquery,html,css,Jquery,Html,Css,我正在尝试使用占位符创建可编辑的div。但我希望在此div中没有文本时自动设置占位符 实际上,我使用的是contentEditable='true';这个元素位于div.上,我是这个函数的jQuery句柄占位符。 ` $('div').on('activate', function() { $(this).empty(); var range, sel; if ( (sel = document.selection) &&a
$('div').on('activate',
function() {
$(this).empty();
var range, sel;
if ( (sel = document.selection) && document.body.createTextRange){
range = document.body.createTextRange();
range.moveToElementText(this);
range.select();} });
$('div').focus(function() {
if (this.hasChildNodes() && document.createRange && window.getSelection) {
$(this).empty();
var range, sel;
range = document.createRange();
range.selectNodeContents(this);
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}});
`这个问题的措辞不是很清楚,但听起来你想做一个决定 你的问题很模糊,但我会尽力给你一些有用的解决方案: HTML:
<div id="editableDiv">
<textarea id="editText" placeholder="This is my placeholder"></textarea>
</div>
对不起,如果这不是你要找的,但这是我所能做的最好的信息量
您可以这样做:
<div contenteditable="true" id="editDiv">Placeholer</div>
您可以尝试将CSS与pseudo:empty和:before和data属性一起使用。
它应该可以在一些浏览器中使用我不想让我知道的文本区域出现。我应该发布一些代码,你的标记是什么?你到底想做什么?这件事不适合我的要求。
<div contenteditable="true" id="editDiv">Placeholer</div>
var placeholder = "Placeholder"; //Change this to your placeholder text
$("#editDiv").focus(function() {
if ($(this).text() == placeholder) {
$(this).text("");
}
}).focusout(function() {
if (!$(this).text().length) {
$(this).text(placeholder);
}
});
div:empty:before {
content:attr(data-placeholder);
color:gray
}
<div contenteditable="true" data-placeholder="You can insert & edit content here."></div>