[FlexGrid] selectionChangingイベントまたはselectionChangedイベントにてalertやconfirmでメッセージボックスを表示すると、メッセージボックスが繰り返し表示される

文書番号 : 81596     文書種別 : Bug
登録日 : 2016/03/24     最終更新日 : 2016/09/29

対象製品

Wijmo 5

発生環境

Chrome、FireFoxで発生。
Windows 7とInternet Explorer 11の組み合わせで発生。

ステータス

回避方法あり

詳細

FlexGridのselectionChangingイベントまたはselectionChangedイベントにてalertやconfirmでメッセージボックスを表示すると、その後FlexGridにマウスオーバーする度にメッセージボックスが繰り返し表示されます。

【再現手順】
1. 選択セル以外のセルをクリックします。(メッセージボックスが表示されます)
2. メッセージボックスのOKボタンを押下します。
3. FlexGridにマウスオーバーします。
結果: 再度メッセージボックスが表示されます。

サンプル

回避方法

Chromeでは、この問題はバージョン5.20161.151で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。

FireFoxでは、FireFoxの不具合のため、この問題が発生しています。
https://bugzilla.mozilla.org/show_bug.cgi?id=1048294

修正版を適用しない場合の回避方法は次のとおりです。

下記コードのようにalertまたはconfirmの後で手動でmouseupイベントを発生させます。

◆サンプルコード(JavaScript)

Internet Explorer 11の場合
----------------------------------
grid.selectionChanging.addHandler(function (s, e) {
  alert("alert message");

  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("mouseup", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  document.dispatchEvent(evt);
});
----------------------------------

Google Chrome、firefoxの場合
----------------------------------
grid.selectionChanging.addHandler(function (s, e) {
  alert("alert message");

  document.dispatchEvent(new Event('mouseup'));
});
----------------------------------