2

編集/削除/ページナビゲーションのアイコンに<TAB>して、対応するアクションを実行するために<ENTER>することはできません。これらのアイコンは、さまざまな「実用的な」アイテム(リンク、入力要素など)に焦点を合わせていません。この動作はどのように達成できますか?

4

1 に答える 1

0

これがあなたの質問に答えるかどうかはわかりませんが、同様の問題がありました。これが私がやったことです。リンク フォーマッタで、リンクをボタンに変更し、kepboard のナビゲーションと作動が利用できるようになりました。

以下に示す「LastName」の colModel には、「lastNameFormatter」のリンク フォーマッタがあります。

        colModel: [
        { name: 'RequestDate', index: 'RequestDate', search: false, width: 110, fixed: true, editable: false, align: 'left', cellStyle:'padding-left:5px', title: false, formatter: ndateFormatter },
        { name: 'LastName', index: 'LastName', search: false, width: 110, title: false, formatter: lastNameFormatter },
        { name: 'DlNum', index: 'DlNum', search: false, width: 130, align: 'left', title: false },
        { name: 'DlState', index: 'DlState', search: false, width: 50, align: 'left', title: false },
        { name: 'UserName', index: 'UserName', search: false, width: 180, align: 'left', title: false, resizable: true },
        { name: 'AuthCode', index: 'AuthCode', search: false, hidden: false, width: 85, sortable: false, formatter: viewLinkFormatter, align: 'left', title: true},
        { name: 'ProbationDescription', index: 'ProbationDescription', search: false, sortable: false, hidden: true, title: false}
    ],

次に、次のことを行います。

function lastNameFormatter(cellval, opts, rwdat, _act) {
var probationDescription = rwdat.ProbationStatusDescription;
if ((probationDescription == null) ||
    (probationDescription.toLowerCase() == "accepted")) {
    return "<button type='button' class='jqGridButton' onclick='submitView(\"" + rwdat.AuthCode + "\"); return false;' >" + cellval + "</button>";
} else {
    return cellval;
}

だから...ここでボタンを使用すると、jqGridリンクのキーボードナビゲーションを許可するためのトリックが行われるようです。

正確な答えではないかもしれませんが、ここで何か役立つものを見つけていただければ幸いです。

于 2014-05-27T19:12:15.983 に答える