openlayers-3 меняет курсор во время ожидания

Как я могу изменить курсор, ожидая завершения какого-либо действия? В приведенном ниже коде курсор не меняется. Я думаю, мне нужно обновить, но я не знаю, как это вызвать.

map.on('singleclick', function(evt) {
    myfunc(evt); });

myfunc(evt) {
    map.getViewport().style.cursor = 'wait';
    // do some lengthy processing
    map.getViewport().style.cursor = 'pointer';
    }

person Linde Ackermans    schedule 13.10.2015    source источник
comment
Если можете, давай закончим вопрос.   -  person Jonatas Walker    schedule 15.10.2015


Ответы (1)


map.on('singleclick', myfunc);

var myfunc = function(evt) {
    map.getTargetElement().style.cursor = 'wait';
    // do some lengthy processing
    map.getTargetElement().style.cursor = 'pointer';
}

Используйте getTargetElement(). Также нет необходимости создавать анонимную функцию.

person Jonatas Walker    schedule 13.10.2015
comment
Боюсь, это тоже не работает. Сам по себе метод работает (я вижу, что когда я не возвращаю курсор к указателю), но не происходит обновления курсора между первым и вторым значением style.cursor. - person Linde Ackermans; 14.10.2015
comment
Комментарий // do some lengthy processing принадлежит вам, поэтому я полагаю, что вы сделаете что-нибудь между первой и второй строкой. Вы спрашиваете как изменить курсор. - person Jonatas Walker; 14.10.2015
comment
Вопрос скорее в том, как визуализировать измененный курсор. - person Linde Ackermans; 23.10.2015
comment
Вы можете другими словами выразить то, что вам нужно? - person Jonatas Walker; 23.10.2015
comment
Я использовал этот механизм в минимальном картографическом приложении, и тогда он работает, как ожидалось. Это должно быть проблема в моем коде где-то еще. Спасибо за ваши «указатели»! - person Linde Ackermans; 23.10.2015
comment
Тогда, если это будет сделано, можете ли вы отметить мой ответ как исправленный? - person Jonatas Walker; 23.10.2015