4

更新しました

失敗を示すさらに簡単な例を次に示します (「z」を押した後に img を非表示にし、「x」を押した後に表示する必要があります)。

私のtest.xul:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet href="chrome://test/content/test.css" type="text/css"?>

<window id="desktop" width="640" height="480"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <image id="img" src="image.png" flex="1"/>

</window>

私のtest.css:

#desktop { -moz-binding: url("chrome://test/content/test.xml#desktop"); }

私のtest.xml:

<?xml version="1.0"?>

<bindings xmlns="http://www.mozilla.org/xbl"
         xmlns:xbl="http://www.mozilla.org/xbl"
         xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <!-- Desktop binding & Key handlers -->
    <binding id="desktop">
        <handlers>
            <handler event="keypress" key="Z" >
                <![CDATA[
                    var img = getElementById("img");
                    if(img)
                        img.hidden = true;
                ]]>
            </handler>
            <handler event="keypress" key="X" >
                <![CDATA[
                    var img = getElementById("img");
                    if(img)
                        img.hidden = false;
                ]]>
            </handler>
        </handlers>
    </binding>

</bindings>

非表示にした後に表示されないのですが、修正方法はありますか? xulrunner のバグですか?xulrunnet 1.9.2.12 で実行しています。

4

2 に答える 2

1

これは Xulrunner 9.0.2.12 の問題でしたが、9.0.2.10 では問題なく動作します。

于 2010-11-22T16:43:37.190 に答える
0

vbox.setAttribute("hidden", "true"); を使用します。および vbox.removeAttribute("hidden");

于 2010-11-12T22:31:29.030 に答える