JQuery / JavaScript – 从输入或文本区域突出显示部分文本
可能重复:
如何使用Javascript或JQuery突出显示HTML中输入文本字段的一部分
有谁知道如何在input[type=text]
或textarea
突出显示某些文本? 可能吗?
您必须在textarea
后面放置一个div
,然后根据它的文本设置样式。
备注 :
- 将
textarea
background-color
为透明,以查看您的highlighter
颜色。 - 您的
highlighter
必须与您的textarea
样式和文本内容相同,才能将span
放在正确的位置。 - 将您的
highlighter
文本设置为与其背景相同的颜色,或者您将看到效果,
span
相同。
HTML :
some text highlighted some text
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; }
演示
此代码段显示了如何:
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(); }