【问题标题】:Click event on HTML Element of htmlText Property of TextAreaTextArea 的 htmlText 属性的 HTML 元素上的单击事件
【发布时间】:2017-08-13 10:35:10
【问题描述】:

我在 TextArea 对象的 htmlText 属性中创建了多个锚标记。每当用户单击任何一个锚标记时,我都希望调度该事件。

示例代码:

myTextArea.htmlText = "<a href=\"somelink1\">somelabel1</a><br/><a href=\"somelink2\">somelabel2</a>";

【问题讨论】:

    标签: actionscript-3 flash event-handling textarea movieclip


    【解决方案1】:

    .htmlText 不是MovieClip 的属性,而是TextField

    var t:TextField = new TextField();
    t.htmlText = "<a href=\"event:my event text\">somelabel1</a>";
    this.addChild(t);
    t.addEventListener(TextEvent.LINK, onLinkClicked);
    
    function onLinkClicked(e:TextEvent):void {
        trace("Event text:", e.text);
    }
    

    您可以在给定的页面上阅读更多信息。

    【讨论】:

    • 我的错,你是对的,我们使用的是 TextArea 而不是 TextField,并且正如我在问题中提到的,我们在一个字符串中有多个链接。但是上面你写的例子只有一个锚标签。我不是 Actionscript 的专家,只需要更新一些东西。您是否有任何适用于同一文本区域的多个锚标记的示例代码?
    • 这个适用于多个标签。我删除了部分文字以获得更清晰的答案。你的问题在哪里?如果您在文本中没有看到“somelabel2”,请确保将multiline 属性设置为true
    • 哦,请参阅textField 属性。 TextArea 不是 TextField 但它在自身内部包装了 TexField 实例,所以你应该有类似 textArea.textField.addEventListener(...)
    • 我有这样的代码myTextArea.htmlText = "&lt;a href=\"somelink1\"&gt;somelabel1&lt;/a&gt;&lt;br/&gt;&lt;a href=\"somelink2\"&gt;somelabel2&lt;/a&gt;";
    • 是的,现在您需要将侦听器添加到文本字段。如果您想要更详细的答案更新您的问题,请添加更多详细信息。你到底在工作中尝试了什么?
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多