copy/paste
で実装されている機能を使用していますが、正常に動作しています (つまり、いくつかのセルを選択して押すとSlickgrid
、これらのセルの内容がクリップボードにコピーされます)。slick.cellcopymanager.js
Ctrl+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
プログラムでセルをコピーするためにイベントをトリガーするにはどうすればよいですか?