【问题标题】:How to put html inside event handlers如何将 html 放入事件处理程序中
【发布时间】:2013-06-01 19:36:56
【问题描述】:
 <s:Button click="showMessage('<h1>Some message</h1>')" label="Как играть?" />

如何在处理程序中放置 html 消息,因为我收到解析器错误,提示在点击处理程序内部没有 &lt; 符号

【问题讨论】:

    标签: flash apache-flex actionscript mxml


    【解决方案1】:

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

    1. prefixing it with the backslash character \
    2. using "HTML Number" code 或“ASCII Dec”(参见 table
    3. Wrap your text in a CDATA tag

    例如:

    <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>
        ...
    

    建议你在&lt;fx:Script&gt;标签中写一个单独的监听器。

    【讨论】:

    • 基于问题中的代码;我会说张贴者在&lt;fx:Script&gt;' named showMessage(). I don't think that ' 可以用 '\' 字符转义。
    【解决方案2】:

    逃离他们:

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

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

    【讨论】:

      【解决方案3】:

      你也可以用这种方式调用你的函数。

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

      【讨论】:

        【解决方案4】:

        我不知道你为什么想做这样的事情。

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

        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"/>
        

        【讨论】:

          猜你喜欢
          • 2018-01-25
          • 1970-01-01
          • 1970-01-01
          • 2018-04-15
          • 2013-12-24
          • 2012-05-09
          • 1970-01-01
          • 2015-01-17
          • 1970-01-01
          相关资源
          最近更新 更多