@@ -65,6 +65,7 @@ export default function setupHighlighter({
65
65
view . addEventListener ( 'pointerdown' , onPointerDown , true ) ;
66
66
view . addEventListener ( 'pointerover' , onPointerOver , true ) ;
67
67
view . addEventListener ( 'pointerup' , onPointerUp , true ) ;
68
+ view . addEventListener ( 'change' , onChange , true ) ;
68
69
}
69
70
}
70
71
@@ -99,6 +100,7 @@ export default function setupHighlighter({
99
100
view . removeEventListener ( 'pointerdown' , onPointerDown , true ) ;
100
101
view . removeEventListener ( 'pointerover' , onPointerOver , true ) ;
101
102
view . removeEventListener ( 'pointerup' , onPointerUp , true ) ;
103
+ view . removeEventListener ( 'change' , onChange , true ) ;
102
104
}
103
105
}
104
106
@@ -164,6 +166,16 @@ export default function setupHighlighter({
164
166
stopPropagation ( event ) ;
165
167
}
166
168
169
+ function onChange ( event ) {
170
+ stopPropagation ( event ) ;
171
+
172
+ if ( event . target . tagName . toLowerCase ( ) === 'select' ) {
173
+ const select = event . target ;
174
+ const option = select . options [ select . selectedIndex ] ;
175
+ selectNode ( option , { origin : 'click' } ) ;
176
+ }
177
+ }
178
+
167
179
const selectNode = throttle (
168
180
memoize ( onSelectNode ) ,
169
181
200 ,
0 commit comments