1

現在、swf 10 OL 5.0 コードを DHTML ランタイムに移行していますが、この問題に直面しています。

ドラッグしているビューにカスタム カーソルを設定できません。次に、ドキュメントに記載されているコードも機能していないことがわかりました。次のコードは、swf 10 ランタイムでは問題なく動作しますが、DHTML ランタイムでは動作しません。

サンプルコードを添付しました

<canvas height="30">
   <resource name="waitcursor" src="wait.png"/>
   <view bgcolor="yellow" cursor="waitcursor">
     <text>Roll over to change the cursor</text>
      <handler name="onmouseover">
       lz.Cursor.showHandCursor(false);
      </handler>
   </view>
 </canvas>

通常のカーソルしか見えません。JavaScriptでカーソルを変更しようとしましたが、うまくいきませんでした。スプライト イベント クラスがこれを管理しており、javascript で解決できないことがわかりました。

現在、これを 5.0 バージョンでテストしており、Firefox 16.0 Windows を使用しています。

4

1 に答える 1

3

リソースに間違った名前を使用しています。DHTML でマウス カーソルを操作すると、リソースの名前が CSS プロパティの値として直接使用されますcursor

このコードは期待どおりに機能します。

<canvas height="500">

    <!-- The name attribute used here is directly set as a CSS property
         cursor: {value of name property}. -->
    <resource name="wait" src="cursor_wait.png"/>

    <view bgcolor="yellow" cursor="wait">
        <text>Roll over to change the cursor</text>
        <handler name="onmouseover">
            lz.Cursor.showHandCursor(false);
        </handler>
    </view>

</canvas>

W3C Wiki を参照して、CSS プロパティの cursor と使用できる値について説明してください。許可される値は次のとおりです。

[ [ ,]* [ 自動 | 十字線 | デフォルト | ポインター | 移動 | e-サイズ変更 | サイズ変更 | nw-サイズ変更 | n-サイズ変更 | se-サイズ変更 | sw-サイズ変更 | s-サイズ変更 | w-サイズ変更 | テキスト | 待って | ヘルプ | 進行状況] ] | 継承する

あなたのコードはカーソル値を に設定しますがcursor: waitcursor、ブラウザはその値を認識できません。この制限は、開発者ガイドの第 31 章: 入力デバイスとジェスチャーにも記載されています。

OpenLaszlo 4 では、DHTML と SWF でカスタム カーソルを設定できます。DHTML と SWF でカスタム カーソルを使用する場合は、DHTML に適切なカーソル ID を使用していることを確認してください (詳細については 、 http: //www.quirksmode.org/css/cursor.html を参照してください)。 SWF のこれらの ID にちなんで名付けられたリソースが含まれています。

于 2012-11-20T14:55:28.413 に答える