Я прошел через документы Dojo, а также API и попытался Google, но не могу найти решение моей проблемы, я надеюсь, что кто-нибудь здесь может помочь мне.Dojo: dijit.form.select не запускает событие «onClick» при первом щелчке
Я пытаюсь создать программу dijit.form.select программно (используя Dojo 1.4) и подключиться к «onClick» -эвенту виджета. Вот часть моего кода:
var dataSelect = new dijit.form.Select({
id : "myselect",
name : "myselect",
labelAttr: "label",
labelType: "html"
},
"selectid");
dataSelect.addOption({value: "value", label: "first item label"});
dojo.connect(dataSelect, "onClick", function() {
alert("clicked!");
});
Что он делает: Избранная ящик создается с заменой ввода-поле с идентификатором «selectid», вариант «первый элемент ярлык» создается. Все в порядке, пока здесь. Затем я подключаюсь к «onClick» -эвенту выбора, который должен загружать больше параметров через AJAX (но в этом примере будет отображаться предупреждение для целей тестирования).
Проблема: когда я нажимаю на маленькую стрелку рядом с выпадающим меню, событие запускается (ОК). Но когда я нажимаю на сам поле выбора (область, содержащая эту опцию), событие НЕ запускается при первом щелчке мыши (если только я не нажал на стрелку раньше). Когда я нажимаю кнопку выбора во второй раз (и каждый раз после этого), событие срабатывает!
Я попытался использовать «onFocus» вместо «onClick», который работает, но затем раскрывающийся список не открывается при первом нажатии, даже если я использую функцию openDropDown (которая работает при подключении к "по щелчку"!).
Это я, я столкнулся с ошибкой Dojo или это странная функция, которую я просто не понимаю? Любая помощь приветствуется.
Привет, Select0r
Может быть вызов метода dataSelect.startup() (после создания виджета) исправит это? – Kniganapolke
Нет, до сих пор нет изменений :( – Select0r
Хм, я вижу dijit.form.Select - старый виджет. Я попытался программно создать FilteringSelect и ComboBox из версии 1.3 (без атрибутов и опций), и ваш код работал неплохо. – Kniganapolke