作成日: 2026/03/25 最終更新日: 2026/03/25
文書種別
制限事項
詳細
SpreadJSの各種イベントは、アプリケーション実行中のユーザー操作や実行されたコードによって発生します。一方で、デザイナ上での操作はイベントの発生対象外となっており、イベントは発生しません。
【イベントが発生しない操作の例】
- リボンコンテナを使用した場合のコンテキストメニューから「削除」を選択する。
- 「左方向にシフト」または「上方向にシフト」を選択してセルを削除する。
この操作でセルを削除してもイベントは発生しません。
回避方法
デザイナの操作はコマンド経由で実行されるため、commandManagerのリスナーを使用して操作を検知することが可能です。
【上記操作例のイベントをハンドリングするためのサンプルコード】
spread.commandManager().addListener('myCmd', (cmArg) => {
let { command } = cmArg;
console.log(command);
// 「セルを左にシフト」コマンドを検知
if (command.cmd === 'Designer.deleteLeftCells') {
let { sheetName, selections } = command;
console.log('セルを左にシフトが実行されました。', sheetName, selections);
}
// 「セルを上にシフト」コマンドを検知
if (command.cmd === 'Designer.deleteUpCells') {
let { sheetName, selections } = command;
console.log('セルを上にシフトが実行されました。', sheetName, selections);
}
});