Openlaszlo DHTML自定义光标问题



我目前正在将我的swf 10 OL 5.0代码迁移到DHTML运行时,我正面临这个问题。

我无法为正在拖动的视图设置自定义光标。然后我发现文档中给出的代码也不起作用。以下代码在swf10运行时运行良好,但在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。

您使用了错误的资源名称。在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属性游标和允许的值。允许的值为:

[[,]*[auto|crosshair|default|pointer|move|e-size|ne resize | nw resize | n-resize | se resize | sw resize |s-resize|w-resize|text|wait|help|progress]]|继承

您的代码将光标值设置为cursor: waitcursor,浏览器无法识别该值。开发者指南第31章:输入设备和手势:中也提到了这一限制

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

最新更新