3つのdijitsとサブクラスすべてdijit/form/Select
、およびそれらにプロパティを追加します。dijit/form/FilteringSelect
dijit/form/ComboBox
dijit/_HasDropDown
dropDown
// dropDown: [protected] Widget
// The widget to display as a popup. This widget *must* be
// defined before the startup function is called.
dropDown: null
あなたが欲しいのは、このdropDown
ウィジェットで聞くことです。問題は、の場合ComboBox
、FilteringSelect
このウィジェットdijit/form/_ComboBoxMenu
が遅延してインスタンス化されることです。つまり、ポップアップを初めて開いたときです。したがって、最初にdropDownを開くことにフックしてonClick
から、dropDownにイベントリスナーを追加する必要があります。
var signal = aspect.after(comboBox, "openDropDown", function() {
comboBox.dropDown.on("click", function(node) {
console.log("value:", comboBox.get("value"));
console.log("selectedIndex:", domAttr.get(node, "item")); // <= this is not an identifier
}
signal.remove(); // remove aspect so it called only once
}
が存在し、そのドロップダウンですぐに聞くことができるdijit/form/Select
ため、を使用する場合は少し簡単です。dropDown
onExecute
dijit/Menu
select.dropDown.on("execute", function() {
setTimeout(function() {
console.log("value:", select.get("value"))
});
});
jsFiddleで3つすべての動作を確認してください:http://jsfiddle.net/phusick/Hp5jr/