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 属性光标和允许的值。允许的值为:

[ [ ,]* [ 自动 | 十字准线 | 默认 | 指针 | 搬家 | 电子调整大小 | 调整大小 | nw 调整大小 | n-调整大小 | 调整大小 | sw-调整大小 | 调整大小 | 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 回答