elz*_*zoy 1 select text angular
我想创建一个简单的编辑器,例如使选定的文本加粗。
有一个具有“超级文本”值的文本区域。
现在,我选择该文本的一部分(例如“ Super”)。如何获得所选值?
<textarea (selected)=".."></textarea>
Run Code Online (Sandbox Code Playgroud)
每当我在textarea中选择某些内容时,都会调用一个函数。
<textarea (selected)="view(textarea.value)" #textarea></textarea>
Run Code Online (Sandbox Code Playgroud)
当我选择某些内容时,这将打印出整个textarea值。我只想打印那部分文本,它将被选中。怎么做?
我看到您正在使用texarea上的(selected)属性绑定功能。这应该是(选择),因为这是为选择触发的事件。但是由于您说您正在执行回调,所以我认为这是一个错字。
现在是主要问题。在文本区域上,您具有两个属性selectionStart和selectionEnd,顾名思义,这两个属性是值的开始位置和结束位置的索引。因此,您可以使用来获取选定的子字符串
textarea.value.substring(textarea.selectionStart, textarea.selectEnd)
Run Code Online (Sandbox Code Playgroud)
您可以在组件的函数内部传递表达式的值。因此,您将这样做
<textarea (select)="view(textarea.selectionStart, textarea.selectEnd)" #textarea></textarea>
Run Code Online (Sandbox Code Playgroud)
这是同样的工作提琴。https://jsfiddle.net/h191w4ed/1/
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |