2014-02-19 122 views
0

我在用于高级搜索的GWT应用程序中有一个TextBox。我试图找到一种在搜索字符串中为特定字符序列(例如字符串#title,或者只是#T)使用语法突出显示的方法,但是我找不到有关如何允许为各个符号着色的任何内容。我想我需要一些比TextBox更复杂的东西,但我不确定要使用什么。或许可以使用单行,剥离RichTextBox,还是有更好的方法?TextBox中的GWT语法高亮显示

回答

2

你不能用输入来做。使用FlowPanel(或简单的一个div元素),并在其上设置ContentEditable。大多数浏览器现在都支持它。然后,您可以在KeyUpEvent的文本内插入常规HTML标签(粗体,跨度),并且可以随意设置样式的跨度。

+0

这适用于插入位置重置为每个keyUp的第一个字符的例外。我正在使用包装在FocusPanel(用于keyUpHandling)中的HTML(它被编译为div),并且它没有任何获取或设置的插入位置。我试图发布几行代码,但我无法得到缩进工作... –

+0

看看这个:http://stackoverflow.com/questions/512528/set-cursor-position-in-html- textbox –

+0

谢谢,但我并不真正了解JavaScript。我试过把它复制到本地方法,但它只是一直返回0。 –