Openlaszlo DHTML自定义游标问题

时间:2012-11-20 10:47:57

标签: dhtml openlaszlo lzx

我目前正将我的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更改光标但也无法正常工作。我发现sprite事件类正在管理它,并且不可能用javascript来解决它。

我目前正在5.0版本中使用Firefox 16.0 Windows进行测试。

1 个答案:

答案 0 :(得分: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>

查看记录CSS property cursor and the allowed values的W3C Wiki。允许的值为:

  

[[,] * [auto |十字准线|默认|指针|移动| E-调整大小   | ne-resize | nw-resize | n-resize | se-resize | sw-resize | S-调整大小   | w-resize |文字|等|帮助|进展]] |继承

您的代码将光标值设置为cursor: waitcursor,浏览器无法识别该值。开发人员指南中也提到了此限制Chapter 31: Input devices and gestures

  

使用OpenLaszlo 4,您可以在DHTML和SWF中设置自定义光标。如果你   计划在DHTML和SWF上使用自定义游标,请确保您正在使用   DHTML的适当游标ID(参见   http://www.quirksmode.org/css/cursor.html了解更多信息),并制作   确定你已经包含了以SWF的那些ID命名的资源。