Actionscript 3 使用AS3从单独的行接收单击事件
我希望从文本字段中的单独行接收单独的单击事件,并且每当用户单击某一行时,我希望突出显示该行并发生事件 理想情况下,我希望这种情况发生在动态文本中,而不必用手将文本分开。使用htmlText属性是一个选项,但我不确定如何将clickEvents绑定到单独的元素Actionscript 3 使用AS3从单独的行接收单击事件,actionscript-3,flash,Actionscript 3,Flash,我希望从文本字段中的单独行接收单独的单击事件,并且每当用户单击某一行时,我希望突出显示该行并发生事件 理想情况下,我希望这种情况发生在动态文本中,而不必用手将文本分开。使用htmlText属性是一个选项,但我不确定如何将clickEvents绑定到单独的元素 从哪里开始?没有现成的解决方案。但是你可以用一些东西自己制作: 为整个文本字段设置CLICK listener 收听单击并检查caretIndex属性 使用getLineIndexOfChar检查当前插入符号位置的行 使用getLineO
从哪里开始?没有现成的解决方案。但是你可以用一些东西自己制作:
- 为整个文本字段设置CLICK listener
- 收听单击并检查
属性caretIndex
- 使用
检查当前插入符号位置的行getLineIndexOfChar
- 使用
和getLineOffset
获取该行的第一个和最后一个字符的位置getLineLength
- 使用
突出显示此行setSelection
您认为文本字段是可选择的吗?这是下面的答案起作用所必需的。
field.addEventListener(MouseEvent.CLICK, onTfClicked);
function onTfClicked(e:MouseEvent):void {
trace (field.caretIndex);
var line:uint = field.getLineIndexOfChar(field.caretIndex);
var start:uint = field.getLineOffset(line);
var end:uint = start + field.getLineLength(line);
field.setSelection(start, end);
}