Skip to content

Commit 5a825e0

Browse files
committed
IE7/8 Compatability fixes
[].indexOf() isn’t supported in old IE. Utilizing jQuery’s $.inArray() allows for Select2 to work in IE compatibility mode.
1 parent a08179f commit 5a825e0

10 files changed

Lines changed: 25 additions & 24 deletions

File tree

dist/js/i18n/ca.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/select2.amd.full.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,7 +1369,7 @@ define('select2/selection/eventRelay',[
13691369

13701370
container.on('*', function (name, params) {
13711371
// Ignore events that should not be relayed
1372-
if (relayEvents.indexOf(name) === -1) {
1372+
if ($.inArray(name, relayEvents) === -1) {
13731373
return;
13741374
}
13751375

@@ -1384,7 +1384,7 @@ define('select2/selection/eventRelay',[
13841384
self.$element.trigger(evt);
13851385

13861386
// Only handle preventable events if it was one
1387-
if (preventableEvents.indexOf(name) === -1) {
1387+
if ($.inArray(name, preventableEvents) === -1) {
13881388
return;
13891389
}
13901390

@@ -2636,7 +2636,7 @@ define('select2/data/array',[
26362636
var item = this._normalizeItem(data[d]);
26372637

26382638
// Skip items which were pre-loaded, only merge the data
2639-
if (existingIds.indexOf(item.id) >= 0) {
2639+
if ($.inArray(item.id, existingIds) >= 0) {
26402640
var $existingOption = $existing.filter(onlyItem(item));
26412641

26422642
var existingData = this.item($existingOption);
@@ -4315,7 +4315,7 @@ define('select2/core',[
43154315
});
43164316

43174317
this.selection.on('*', function (name, params) {
4318-
if (nonRelayEvents.indexOf(name) !== -1) {
4318+
if ($.inArray(name, nonRelayEvents) !== -1) {
43194319
return;
43204320
}
43214321

dist/js/select2.amd.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,7 +1369,7 @@ define('select2/selection/eventRelay',[
13691369

13701370
container.on('*', function (name, params) {
13711371
// Ignore events that should not be relayed
1372-
if (relayEvents.indexOf(name) === -1) {
1372+
if ($.inArray(name, relayEvents) === -1) {
13731373
return;
13741374
}
13751375

@@ -1384,7 +1384,7 @@ define('select2/selection/eventRelay',[
13841384
self.$element.trigger(evt);
13851385

13861386
// Only handle preventable events if it was one
1387-
if (preventableEvents.indexOf(name) === -1) {
1387+
if ($.inArray(name, preventableEvents) === -1) {
13881388
return;
13891389
}
13901390

@@ -2636,7 +2636,7 @@ define('select2/data/array',[
26362636
var item = this._normalizeItem(data[d]);
26372637

26382638
// Skip items which were pre-loaded, only merge the data
2639-
if (existingIds.indexOf(item.id) >= 0) {
2639+
if ($.inArray(item.id, existingIds) >= 0) {
26402640
var $existingOption = $existing.filter(onlyItem(item));
26412641

26422642
var existingData = this.item($existingOption);
@@ -4315,7 +4315,7 @@ define('select2/core',[
43154315
});
43164316

43174317
this.selection.on('*', function (name, params) {
4318-
if (nonRelayEvents.indexOf(name) !== -1) {
4318+
if ($.inArray(name, nonRelayEvents) !== -1) {
43194319
return;
43204320
}
43214321

dist/js/select2.full.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1807,7 +1807,7 @@ define('select2/selection/eventRelay',[
18071807

18081808
container.on('*', function (name, params) {
18091809
// Ignore events that should not be relayed
1810-
if (relayEvents.indexOf(name) === -1) {
1810+
if ($.inArray(name, relayEvents) === -1) {
18111811
return;
18121812
}
18131813

@@ -1822,7 +1822,7 @@ define('select2/selection/eventRelay',[
18221822
self.$element.trigger(evt);
18231823

18241824
// Only handle preventable events if it was one
1825-
if (preventableEvents.indexOf(name) === -1) {
1825+
if ($.inArray(name, preventableEvents) === -1) {
18261826
return;
18271827
}
18281828

@@ -3074,7 +3074,7 @@ define('select2/data/array',[
30743074
var item = this._normalizeItem(data[d]);
30753075

30763076
// Skip items which were pre-loaded, only merge the data
3077-
if (existingIds.indexOf(item.id) >= 0) {
3077+
if ($.inArray(item.id, existingIds) >= 0) {
30783078
var $existingOption = $existing.filter(onlyItem(item));
30793079

30803080
var existingData = this.item($existingOption);
@@ -4753,7 +4753,7 @@ define('select2/core',[
47534753
});
47544754

47554755
this.selection.on('*', function (name, params) {
4756-
if (nonRelayEvents.indexOf(name) !== -1) {
4756+
if ($.inArray(name, nonRelayEvents) !== -1) {
47574757
return;
47584758
}
47594759

dist/js/select2.full.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/select2.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1807,7 +1807,7 @@ define('select2/selection/eventRelay',[
18071807

18081808
container.on('*', function (name, params) {
18091809
// Ignore events that should not be relayed
1810-
if (relayEvents.indexOf(name) === -1) {
1810+
if ($.inArray(name, relayEvents) === -1) {
18111811
return;
18121812
}
18131813

@@ -1822,7 +1822,7 @@ define('select2/selection/eventRelay',[
18221822
self.$element.trigger(evt);
18231823

18241824
// Only handle preventable events if it was one
1825-
if (preventableEvents.indexOf(name) === -1) {
1825+
if ($.inArray(name, preventableEvents) === -1) {
18261826
return;
18271827
}
18281828

@@ -3074,7 +3074,7 @@ define('select2/data/array',[
30743074
var item = this._normalizeItem(data[d]);
30753075

30763076
// Skip items which were pre-loaded, only merge the data
3077-
if (existingIds.indexOf(item.id) >= 0) {
3077+
if ($.inArray(item.id, existingIds) >= 0) {
30783078
var $existingOption = $existing.filter(onlyItem(item));
30793079

30803080
var existingData = this.item($existingOption);
@@ -4753,7 +4753,7 @@ define('select2/core',[
47534753
});
47544754

47554755
this.selection.on('*', function (name, params) {
4756-
if (nonRelayEvents.indexOf(name) !== -1) {
4756+
if ($.inArray(name, nonRelayEvents) !== -1) {
47574757
return;
47584758
}
47594759

dist/js/select2.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/js/select2/core.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ define([
216216
});
217217

218218
this.selection.on('*', function (name, params) {
219-
if (nonRelayEvents.indexOf(name) !== -1) {
219+
if ($.inArray(name, nonRelayEvents) !== -1) {
220220
return;
221221
}
222222

src/js/select2/data/array.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ define([
4646
var item = this._normalizeItem(data[d]);
4747

4848
// Skip items which were pre-loaded, only merge the data
49-
if (existingIds.indexOf(item.id) >= 0) {
49+
if ($.inArray(item.id, existingIds) >= 0) {
5050
var $existingOption = $existing.filter(onlyItem(item));
5151

5252
var existingData = this.item($existingOption);

src/js/select2/selection/eventRelay.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ define([
1818

1919
container.on('*', function (name, params) {
2020
// Ignore events that should not be relayed
21-
if (relayEvents.indexOf(name) === -1) {
21+
if ($.inArray(name, relayEvents) === -1) {
2222
return;
2323
}
2424

@@ -33,7 +33,7 @@ define([
3333
self.$element.trigger(evt);
3434

3535
// Only handle preventable events if it was one
36-
if (preventableEvents.indexOf(name) === -1) {
36+
if ($.inArray(name, preventableEvents) === -1) {
3737
return;
3838
}
3939

0 commit comments

Comments
 (0)