YUI に DataTable があります。すべてのキーイベントを無視するようにテーブルを取得しようとしています。私はこれらの方法を試しました:
YAHOO.util.Event.addListener(singleSelectDataTable, "keydown", function(oEvent) {
YAHOO.util.Event.stopPropagation(oEvent);
});
また
YAHOO.util.Event.preventDefault(singleSelectDataTable.tableKeyEvent);
また
singleSelectDataTable.subscribe('tableKeyEvent', function(oArgs) {
YAHOO.util.Event.preventDefault(oArgs.event);
});
クリック イベントをインターセプトする YUI の例をいくつか見てきましたが、この特定のシナリオには当てはまりません。それが役立つ場合は、スタンドアロンの HTML テスト ファイルを作成しました: http://pastebin.com/khfR4Stk。基本的な問題は、テーブルで上向き矢印キーまたは下向き矢印キーをサポートしたくないということです。これはスクロール テーブルであり、適切に機能させるためには、選択が「表示されたウィンドウ」を超えたら、スクロール サムを調整する必要があります。
私が考えることができる唯一の他の解決策は、tableKeyEvent にサブスクライブし、キープレスが上矢印の場合は、新しく選択された行の選択を解除し、前の行を選択して、下矢印に適切なアナログを実行することです (基本的に、キーを押しただけです)。これは適切な解決策とは思えませんでした…</p>