2008-11-22 2 views
1

Я попытался следовать the widget example by mindtrove's blog. Вот the example demo page.Некоторые клавиши, не работающие с Dojo Widget

Есть некоторые проблемы с этим виджетом: левые клавишей & стрелок вправо, и домашние & конечных клавиши не работают в Firefox (я использую Mac), и ни один из какого-либо клавиша не работает, если я загрузить пример страницу в Сафари. Я не уверен, что это только проблема с Mac или вообще не работает на Mac.

Вот некоторые коды в виджете Rating.js:

 
    _onKeyDown: function(event) { 
     switch(event.keyCode) { 
     case dojo.keys.UP_ARROW: 
     case dojo.keys.RIGHT_ARROW: 
      this.currentValue += 1 
      this.currentValue = Math.min(this.currentValue, this.maximumValue); 
      dojo.stopEvent(event); 
      break; 
     case dojo.keys.DOWN_ARROW: 
     case dojo.keys.LEFT_ARROW: 
      this.currentValue -= 1 
      this.currentValue = Math.max(this.currentValue, this.minimumValue); 
      dojo.stopEvent(event); 
      break; 
     case dojo.keys.HOME: 
      this.currentValue = this.minimumValue; 
      dojo.stopEvent(event); 
      break; 
     case dojo.keys.END: 
      this.currentValue = this.maximumValue; 
      dojo.stopEvent(event); 
      break; 
     } 
     // refresh the display 
     this._update(); 
    } 

Насколько я понимаю, все ключи Cought в этой функции события должны работать. Я не уверен, почему некоторые из них не работают. Кстати, я узнаю одно интересное: для этих ключей (слева, справа, для дома & конец) ключи в Firefox, они работают, если я держу клавишу переключения.

Я не уверен, является ли проблема ошибкой в ​​коде виджета или ошибкой Dojo в случае Mac?

ответ

0

Типичное поведение Додзе. Что «класс» делает это? Вы можете проверить, есть ли у этого «базового класса» те же ошибки. Но в случае с Dojo вы никогда не можете быть уверены, откуда возникают ошибки, вы можете быть уверены, что их много.

0

На самом деле, я узнал, что все ключи работают в Firefox (Mac). Я использую Vimperator для разметки некоторых клавиш. Когда я получаю его в режиме «Pass-through», а это означает, что никакие ключи не будут захвачены дополнением Vimerator, сфокусированный виджет управления будет получать ключевые события слева, справа, вверх, вниз, домой & End.

По крайней мере, в случае Firefox виджет работает. По моему опыту, виджет предоставляет некоторые функции событий для управления, когда он сфокусирован. Однако, если есть какие-либо дополнения или конфигурации браузера, которые вызывают события, которые не проходят или не реагируют на события, тогда вы получите «проблему». Другими словами, если это действительно сложно в случае браузера. Я могу представить, что если некоторые надстройки могут отключить событие щелчка мыши, виджет больше не будет работать.

Все еще я не мог понять, чтобы виджет работал в моем Safari. Из того, что я вижу, элемент управления виджета вообще не фокусируется. Виджет назначается тегу span на тестовой странице. Я не уверен, может ли тег span получить фокус в Safari или нет. Я посмотрю, смогу ли я получить виджет на другой настраиваемый тег или нет и попробовать.

Это действительно полезно получить что-то работающее и исследовать.

Смежные вопросы