SlickGridを使用して標準のjQueryイベントを使用します
-
26-09-2019 - |
質問
SlickGridで標準のjQueryイベントを使用する方法はありますか?例えば。
grid = new Grid($("#myGrid"), data, columns, options);
grid.blur(function(){}); // this would be nice
// this will let me add jQuery events to the whole grid, but
// I lose the cell position/data
$("#myGrid").blur(function(){});
前もって感謝します!
解決
短い答えはノーです。
詳しく説明するために、SlickGridはjQueryプラグインではなく、何らかの形でjQueryを拡張しません。フードの下でjQueryを使用する別のコンポーネントです。グリッドインスタンスにイベントハンドラーを設定することで、購読できるイベントを明示的に定義しています。その間 いくつか 「標準」イベントのうち、グリッドによって生成されたDOMノードに適用されると、それらの使用は落胆します。ノードは、スクロール時にSlickGridによって作成および削除されているため、同じままであるか、イベントに頼ることはできません。 SlickGridの内部を十分に理解していない限り、明示的に定義されたイベントに固執することをお勧めします。
当初、私はjqueryイベントを使用するためにSlickgridの変更を検討しましたが、それに反対しました。 JQueryをSlickGridのフレームワークとして使用することを選択しましたが、ユーザーにもそれを学習して使用するように強制する必要はありません。これにより、後で別のフレームワークに切り替える柔軟性が得られます。
他のヒント
レンダリングされたコードを常に調べて、作成したコンテナに.blur()を適用できます。
所属していません StackOverflow