Skip to content

Commit 8317a0c

Browse files
committed
Fix for selects not working in IE8
angular-ui#158, based on an observed (but maybe not well understood) code change by @careywalker. Basically, just move the ng-click/ng-mouseenter bindings from the LI (choices-row) to the contained DIV (choices-row-inner). So far, I haven't seen an affect on behavior in any browser, but this is with light manual testing. All automated tests pass with these changes in place: >gulp test [15:05:36] Using gulpfile C:\web\sites\ui-select\gulpfile.js [15:05:36] Starting 'clean'... [15:05:36] Finished 'clean' after 14 ms [15:05:36] Starting 'scripts'... [15:05:36] Starting 'styles'... [15:05:36] Finished 'styles' after 61 ms [15:05:37] Finished 'scripts' after 1.01 s [15:05:37] Starting 'build'... [15:05:37] Finished 'build' after 14 μs [15:05:37] Starting 'karma'... [15:05:38] Finished 'karma' after 880 ms [15:05:38] Starting 'test'... [15:05:38] Finished 'test' after 5.63 μs INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/ INFO [launcher]: Starting browser Chrome INFO [Chrome 41.0.2272 (Windows 7)]: Connected on socket gaw3nxxZW2Omee4BBX-X with id 17666700 Chrome 41.0.2272 (Windows 7): Executed 110 of 110 SUCCESS (2.483 secs / 2.465 secs)
1 parent ed61077 commit 8317a0c

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/uiSelectChoicesDirective.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ uis.directive('uiSelectChoices',
3939
}
4040

4141
choices.attr('ng-repeat', RepeatParser.getNgRepeatExpression($select.parserResult.itemName, '$select.items', $select.parserResult.trackByExp, groupByExp))
42-
.attr('ng-if', '$select.open') //Prevent unnecessary watches when dropdown is closed
43-
.attr('ng-mouseenter', '$select.setActiveItem('+$select.parserResult.itemName +')')
44-
.attr('ng-click', '$select.select(' + $select.parserResult.itemName + ',false,$event)');
42+
.attr('ng-if', '$select.open'); //Prevent unnecessary watches when dropdown is closed
4543

4644
var rowsInner = element.querySelectorAll('.ui-select-choices-row-inner');
4745
if (rowsInner.length !== 1) throw uiSelectMinErr('rows', "Expected 1 .ui-select-choices-row-inner but got '{0}'.", rowsInner.length);
48-
rowsInner.attr('uis-transclude-append', ''); //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat
49-
46+
rowsInner.attr('uis-transclude-append', '') //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat
47+
.attr('ng-mouseenter', '$select.setActiveItem('+$select.parserResult.itemName +')')
48+
.attr('ng-click', '$select.select(' + $select.parserResult.itemName + ',false,$event)');
49+
5050
$compile(element, transcludeFn)(scope); //Passing current transcludeFn to be able to append elements correctly from uisTranscludeAppend
5151

5252
scope.$watch('$select.search', function(newValue) {

0 commit comments

Comments
 (0)