在ExtJs中,如何在TextArea的插入符号位置插入固定字符串?

baubqpgj  于 2023-03-22  发布在  其他
关注(0)|答案(2)|浏览(187)

这个问题可能在其他框架中被问到,不确定ExtJs上是否有,我是新来的。我想知道是否有一个简单的例子,一个TextArea和一个按钮。当按钮被按下时,一个固定的字符串“???”被插入到TextArea的光标处。
先谢了。

eimct9ow

eimct9ow1#

实际上,您可以直接从DOM中执行此操作,使用textareas的selectionStart属性来查找插入符号的位置。
所以你可以做一些

textArea.value = textArea.value.substring(0, selectionStart)+'???'+textArea.value.substring(selectionStart);

下面是一个jsfiddle示例,它使用Ext.get和Ext.getDom的组合来选择和修改元素。

bgibtngc

bgibtngc2#

在extjs 7.5.1(可能更早)中,可以使用textArea对象的getCaretPos()方法获取光标位置:

var textToInsert = 'test';
    var txtArea = Ext.ComponentQuery.query('#yourTextAreaItemId')[0];
    var currentContent = txtArea.getValue();
    var caretPos = txtArea.getCaretPos();

    txtArea.setValue(currentContent.substring(0,caretPos) + textToInsert + currentContent.substring(caretPos));

请注意,框架文档中似乎没有记录此方法,因此请注意可能的更新。

相关问题