copy/pasteで実装されている機能を使用していますが、正常に動作しています (つまり、いくつかのセルを選択して押すとSlickgrid、これらのセルの内容がクリップボードにコピーされます)。slick.cellcopymanager.jsCtrl+c
プログラムでアクションをトリガーしたいと思いCtrl+cます(たとえば、キーを押す代わりにボタンをクリックしてコピー/貼り付けを実行できるようにします)。のキーダウンイベントを定義する方法を知っていますCtrl+c:
var e = jQuery.Event("keydown");
e.which = 67;
e.ctrlKey = true;
ただし、そのイベントをトリガーするオブジェクトと、マニュアルをシミュレートする方法を見つけることができませんCtrl+c。最初に、うまくいかなかったイベントの簡単なトリガーを試しました:
- div_dom_from_selected_cell.trigger(e); // nothing happens
- grid_dom_wrapper.trigger(e); // nothing happens
- $('body').trigger(e); // nothing happens
-my_grid.trigger(e); // trigger is not a function
次に、関数を外部から利用できるslick.cellcopymanager.jsように拡張しました。handleKeyDown
$.extend(this, {
"init": init,
"destroy": destroy,
"clearCopySelection": clearCopySelection,
"handleKeyDown": handleKeyDown, // ADDED THIS LINE
"onCopyCells": new Slick.Event(),
"onCopyCancelled": new Slick.Event(),
"onPasteCells": new Slick.Event()
});
そしてそれを使用しようとしました:
var copyManager = new Slick.CellCopyManager();
copyManager.init(my_grid);
copyManager.handleKeyDown(e, { cell: cell, row: row, grid: my_grid } );
次のにもかかわらず、セルのコピーはまだ機能しません:
-セルが適切に選択されている(selectedクラスがある)
-handleKeyDown適切に起動されている
-内部eのargs引数がhandleKeyDown見栄えが良い(トレースしてconsole.logいて、手動との違いがわかりませんCtrl+cそしてプログラム的な試み`
Ctrl+cプログラムでセルをコピーするためにイベントをトリガーするにはどうすればよいですか?