最適なオプションは、「enableKeys」オプションを false に設定して、シャドウボックスのキーボード ナビゲーション ショートカットを無効にすることです (このページを参照)。
別の方法として、Robby の提案に従って shadowbox.js ファイルを変更することもできますが、これは、shadowbox のキーボード ナビゲーションが必要な場合にのみ行ってください。このコード ブロックを検索して、ショートカットの 1 つが使用された場合にのみデフォルト イベントをキャンセルするように変更する必要があると思います (いくつかの改行とインデントを追加しました)。
var handleKey=function(e){
var code=SL.keyCode(e);
SL.preventDefault(e);
if(code==81||code==88||code==27){
SB.close()
}else{
if(code==37){
SB.previous()
}else{
if(code==39){
SB.next()
}else{
if(code==32){
SB[(typeof slide_timer=="number"?"pause":"play")]()
}
}
}
}
};
次のように変更できると思います。
var handleKey=function(e){
switch(SL.keyCode(e)) {
case 81:
case 88:
case 27:
SB.close()
SL.preventDefault(e);
break;
case 37:
SB.previous()
SL.preventDefault(e);
break;
case 39:
SB.next()
SL.preventDefault(e);
break;
case 32:
SB[(typeof slide_timer=="number"?"pause":"play")]()
SL.preventDefault(e);
break;
}
};
これにより、シャドーボックスのイベント ハンドラーが重要でないキーストロークを飲み込むのを防ぐ必要があります。