有谁知道如何在input[type=text]
or中突出显示某些文本textarea
?是否可以?
问问题
12468 次
2 回答
5
你必须div
在你的后面放置一个textarea
,然后根据它的文本设置它的样式。
备注:
- 将您的设置
textarea
background-color
为透明以查看您的highlighter
颜色。 - 您
highlighter
必须与您的样式和文本内容相同,textarea
才能将其span
放在正确的位置。 - 将您的
highlighter
文本设置为与其背景相同的颜色,否则您会看到<b>
效果,对于span
.
html:
<div class="highlighter">some text <span>highlighted</span> some text</div>
<textarea>some text highlighted some text</textarea>
CSS:
.highlighter, textarea {
width: 400px;
height: 300px;
font-size: 10pt;
font-family: 'verdana';
}
.highlighter {
position: absolute;
padding: 1px;
margin-left: 1px;
color: white;
}
.highlighter span {
background: red;
color: red;
}
textarea {
position: relative;
background-color: transparent;
}
于 2012-08-17T12:05:37.203 回答
2
此代码片段向您展示了如何:
window.onload = function() {
var message = document.getElementById('message');
// Select a portion of text
createSelection(message, 0, 5);
// get the selected portion of text
var selectedText = message.value.substring(message.selectionStart, message.selectionEnd);
alert(selectedText);
};
function createSelection(field, start, end) {
if( field.createTextRange ) {
var selRange = field.createTextRange();
selRange.collapse(true);
selRange.moveStart('character', start);
selRange.moveEnd('character', end);
selRange.select();
} else if( field.setSelectionRange ) {
field.setSelectionRange(start, end);
} else if( field.selectionStart ) {
field.selectionStart = start;
field.selectionEnd = end;
}
field.focus();
}
于 2012-08-17T11:49:22.083 回答