I have a simple <div contenteditable>
with a <span>
inside of it. The text inside of the <div>
I want to be editable, but the <span>
I do not want users to be able to edit.
Sample:
#editable {
background-color: #ccc;
padding: 5px;
width: 400px;
text-align: center;
}
span {
background-color: green;
color: white;
padding: 2px;
}
<div id="editable" contenteditable>
Sample text including a <span>FANCY TAG</span> in the middle.
</div>
The desired end result is a box where users can type in what they'd like, but have styled tags inline that are not editable. Since you cannot put <span>
tags inside of <input type="text">
or <textarea>
blocks, I'm left with using <div contenteditable>
.
How do I make all the text inside the <div>
editable except for the <span>
?
Add contenteditable="false"
to your span tag
thus this prevents user from editing your span tag.
#editable {
background-color: #ccc;
padding: 5px;
width: 400px;
text-align: center;
}
span {
background-color: green;
color: white;
padding: 2px;
}
<div id="editable" contenteditable>
Sample text including a <span contenteditable="false">FANCY TAG</span> in the middle.
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With