作成日: 2019/09/05 最終更新日: 2019/10/09
文書種別
不具合
状況
修正済み
詳細
Angular MaterialとWijmoを併用した場合、Undo/Redo操作を行うとブラウザのコンソールにエラーメッセージが表示されます。
Chromeの場合:
「Unable to preventDefault inside passive event listener invocation.」
Edgeの場合:
「DOM7017: パッシブな 'keydown' イベント ディスパッチ時に preventDefault 呼び出しが無視されました。」
Chromeの場合:
「Unable to preventDefault inside passive event listener invocation.」
Edgeの場合:
「DOM7017: パッシブな 'keydown' イベント ディスパッチ時に preventDefault 呼び出しが無視されました。」
回避方法
この問題はバージョン5.20192.631で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
Undo/Redo操作はマニュアル実行して、キー入力はキャンセルします。
[サンプルコード]
document.addEventListener('keydown', (e: KeyboardEvent) => {
if (e.ctrlKey && !e.defaultPrevented) {
switch (e.keyCode) {
case 90: // ctrl+Z => undo
if (this.undoStack.canUndo) {
this.undoStack.undo();
e.stopImmediatePropagation();
}
break;
case 89: // ctrl+Y => redo
if (this.undoStack.canRedo) {
this.undoStack.redo();
e.stopImmediatePropagation();
}
break;
}
}
}, true);
修正版を適用しない場合の回避方法は次の通りです。
Undo/Redo操作はマニュアル実行して、キー入力はキャンセルします。
[サンプルコード]
document.addEventListener('keydown', (e: KeyboardEvent) => {
if (e.ctrlKey && !e.defaultPrevented) {
switch (e.keyCode) {
case 90: // ctrl+Z => undo
if (this.undoStack.canUndo) {
this.undoStack.undo();
e.stopImmediatePropagation();
}
break;
case 89: // ctrl+Y => redo
if (this.undoStack.canRedo) {
this.undoStack.redo();
e.stopImmediatePropagation();
}
break;
}
}
}, true);
旧文書番号
84443