Проблема с настраиваемым курсором Openlaszlo DHTML

В настоящее время я переношу свой код 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.


person karthick    schedule 20.11.2012    source источник


Ответы (1)


Вы используете неправильное имя для ресурса. При манипулировании курсором мыши в 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-resize | n-изменить размер | изменить размер | sw-resize | s-resize | w-resize | текст | подождите | помощь | прогресс]] | наследовать

Ваш код устанавливает значение курсора на cursor: waitcursor, и браузер не может распознать это значение. Это ограничение также упоминается в руководстве разработчика, Глава 31: Ввод устройства и жесты:

В OpenLaszlo 4 вы можете устанавливать собственные курсоры в DHTML и SWF. Если вы планируете использовать настраиваемые курсоры в DHTML и SWF, убедитесь, что вы используете соответствующие идентификаторы курсора для DHTML (см. http://www.quirksmode.org/css/cursor.html для получения дополнительной информации) и убедитесь, что вы включили ресурсы, названные в честь этих идентификаторов для SWF.

person Community    schedule 20.11.2012
comment
Спасибо .. Я понял эту проблему. Но все же я не могу видеть настраиваемый ресурс, который я устанавливаю как ресурс. - person karthick; 20.11.2012
comment
Вы пробовали другой ресурс? Может образ испорчен? Посмотрите этот пример из документации, он работает у меня в Firefox в Chrome, как в Windows, так и в Linux: openlaszlo.org/lps4.9/laszlo-explorer/editor.jsp?src=docs/ - person raju-bitter; 22.11.2012