作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试创建一个文本区域,当用户在其中键入时会突出显示一些关键字。我明白 textarea 只能支持纯文本,我必须使用“富文本”编辑器才能实现这一点。我想要一些非常简单的东西,而不是那些臃肿的“富编辑”。有任何想法吗?
谢谢!
最佳答案
这是一个片段,可以让您了解正在寻找的内容的基础知识:
<style>
.textarea { font-family:arial; font-size:12px; border:0; width:700px; height:200px; }
.realTextarea { margin:0; background:transparent; position: absolute; z-index:999; }
.overlayTextarea { margin:0; position:absolute; top:1; left:1; z-index:998; }
.textareaBorder { border:groove 1px #ccc; position:relative; width:702px; height:202px; }
.highlight { background: yellow; }
</style>
<script>
var _terms = ['January', 'February', 'March']; // YOUR SEARCH TERMS GO HERE //
function preg_quote( str ) {
return (str+'').replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
}
function doit() {
var s = myTextarea.value;
for (i=0; i<_terms.length; i++)
s = s.replace( new RegExp( preg_quote( _terms[i] ), 'gi' ), '<span class="highlight">' + _terms[i] + '</span>' );
myOtherTextarea.innerHTML = s.replace( new RegExp( preg_quote( '\r' ), 'gi' ), '<br>' );
}
</script>
<div class="textarea textareaBorder">
<textarea id="myTextarea" onkeyup="doit();" class="textarea realTextarea"></textarea>
<div id="myOtherTextarea" class="textarea overlayTextarea"></div>
</div>
基本概念是 <textarea>
(在顶部)是透明的,<div>
下面包含“丰富/突出显示”版本。在环绕文本方面还有改进的余地,但您明白了。突出显示快乐!
信用:preg_quote 函数来自 Kevin van Zonneveld http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_preg_quote/
关于javascript - 在 textarea 上键入时突出显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282505/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!