作成日: 2018/04/16 最終更新日: 2018/06/27
文書種別
不具合
発生環境
IE11
状況
修正済み
詳細
コントロールのTabIndexプロパティを設定した場合、Tabキーでのフォーカス移動が不正になります。
本現象はGcListBox、GcCalendarおよびGcCalculatorコントロールで発生することが確認されています。
IE11で発生し、Microsoft EdgeやGoogle Chromeでは問題ありません。
本現象はGcListBox、GcCalendarおよびGcCalculatorコントロールで発生することが確認されています。
IE11で発生し、Microsoft EdgeやGoogle Chromeでは問題ありません。
回避方法
Service Pack 2(v10.0.4002.2012)で修正済み。
Service Pack 2 を適用せずに対処する方法としては、TabIndexを1以上に設定したうえで、以下の回避用のスクリプトを追加します。
1.GcListBox
<head>タグ内に追加します。
============================
window.onload = function () {
if (GCIM && GCIM.ListCommand) {
var oldFocusFunc = GCIM.ListCommand.prototype.OnFocus;
GCIM.ListCommand.prototype.OnFocus = function (evt) {
if (GCIM.Utility.IsIE && document.activeElement !== this._render._borderContainer) {
this._render._borderContainer.focus();
}
oldFocusFunc.apply(this, arguments);
}
}
}
============================
2.GcCalendar
<form>タグ内に追加します。
============================
(function () {
if (GCIM.Utility.IsIE) {
var oldFun = GCIM.CalendarRender.prototype.UpdateContainerEvent;
GCIM.CalendarRender.prototype.UpdateContainerEvent = function () {
oldFun.apply(this, arguments);
var outterContainerDiv = this.CalendarSectionDom.OutterContainerDiv;
var self = this;
GCIM.Utility.AttachEvent(outterContainerDiv, "focusin", function () {
if (!self.Data.Enabled) {
return;
}
self.CalendarSectionDom.OutterContainerDiv.focus();
}, false);
}
}
})();
============================
3.GcCalculator
TabIndexを1以上に設定するだけで、そのほかの回避コードは不要です。
Service Pack 2 を適用せずに対処する方法としては、TabIndexを1以上に設定したうえで、以下の回避用のスクリプトを追加します。
1.GcListBox
<head>タグ内に追加します。
============================
window.onload = function () {
if (GCIM && GCIM.ListCommand) {
var oldFocusFunc = GCIM.ListCommand.prototype.OnFocus;
GCIM.ListCommand.prototype.OnFocus = function (evt) {
if (GCIM.Utility.IsIE && document.activeElement !== this._render._borderContainer) {
this._render._borderContainer.focus();
}
oldFocusFunc.apply(this, arguments);
}
}
}
============================
2.GcCalendar
<form>タグ内に追加します。
============================
(function () {
if (GCIM.Utility.IsIE) {
var oldFun = GCIM.CalendarRender.prototype.UpdateContainerEvent;
GCIM.CalendarRender.prototype.UpdateContainerEvent = function () {
oldFun.apply(this, arguments);
var outterContainerDiv = this.CalendarSectionDom.OutterContainerDiv;
var self = this;
GCIM.Utility.AttachEvent(outterContainerDiv, "focusin", function () {
if (!self.Data.Enabled) {
return;
}
self.CalendarSectionDom.OutterContainerDiv.focus();
}, false);
}
}
})();
============================
3.GcCalculator
TabIndexを1以上に設定するだけで、そのほかの回避コードは不要です。
旧文書番号
41755