Я прошел через документы Dojo, а также API и попробовал Google, но не могу найти решение моей проблемы, я надеюсь, что кто-нибудь здесь сможет мне помочь.
Я пытаюсь создать программный 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» (которая работает при подключении к » OnClick "!).
Это я, я столкнулся с ошибкой Dojo или это странная особенность, которую я просто не понимаю?
Любая помощь приветствуется.
Привет,
Select0r