我目前正将我的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进行测试。
答案 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命名的资源。