0
 <s:Button click="showMessage('<h1>Some message</h1>')" label="Как играть?" />

如何在处理程序中放置 html 消息,因为我收到解析器的错误,即在单击处理程序中没有<符号

4

4 回答 4

3

逃离他们:

 <s:Button click="showMessage('&lt;h1&gt;Some message&lt;/h1&gtl')" label="Как играть?" />

那应该摆脱编译器错误。不知道 showMessage 按钮的作用;很难说这是否会给你想要的结果。

于 2013-06-06T00:53:49.827 回答
3

在 MXML 语法中,转义特殊字符的工作标准方法:

  1. 用反斜杠字符作为前缀\
  2. 使用“HTML Number”代码或“ASCII Dec”(见表
  3. 将您的文本包装在 CDATA 标记中。

例如:

<ns:myComp...>
    <ns:click>
        <![CDATA[
            // your AS3 code
        ]]>
    </ns:click>
    <ns:htmlText>
        <![CDATA[
            This is 14 point blue italic text.<br/>
            <b><font color="#000000" size="10">text</font></b>
        ]]>
    </ns:htmlText>
    ...

建议<fx:Script>您在标签中编写一个单独的侦听器。

于 2013-06-05T23:38:43.467 回答
1

You can also call your function in this way.

<s:Button label="Как играть?" >
        <s:click >
            <![CDATA[
                showMessage('<h1>Some message</h1>');
            ]]>
        </s:click>
    </s:Button>
于 2013-06-06T04:33:39.547 回答
0

我不确定你为什么想做这样的事情。

更改处理程序以接受更多属性会更容易:

protected function showMessage(heading:String, message:String):void {
     var message:String = '<h1>' + heading + '</h1><p>' + message + '</p>';
     // do something with message.
}
<s:Button click="showMessage('Title', 'Custom message.')" label="Click Me"/>
于 2013-06-08T19:08:53.470 回答