0

アプリケーションに「RichFacesPleaseWaitBox」を実装していますが、問題があります。

ユーザーがアクションを開始すると、ステータスが開始され、モーダル「待機中」が表示されます。アクションの実行が終了すると、ステータスは終了し、モーダル「待機中」が非表示になります。ここまで大丈夫です。

ただし、ユーザーがアクションを開始すると、表示されていたモーダル「待機」である「ESC」を押すと消え、ユーザーはアクションをもう一度クリックして、新しい送信を行うことができます。

この問題の回避策を得るために「ESC」をブロックするにはどうすればよいですか?

modalPanelで試しましたが、機能しません。

<rich:hotKey id="hotKeyModalPanelSTATUS" 
handler="alert('false');"
key="esc" />    
4

2 に答える 2

2

私があなたの主張を正しければ:

mousetrap.jsファイルをインポートし、 jqueryのドキュメントに従い、最後に次のようなコードを実行します(もちろん、モーダル表示イベントで)。

Mousetrap.bind('esc', function(event){
  event.preventDefault();
  return false;
});

モーダルの非表示イベントでイベントのバインドを解除することもできます。そのため、非表示イベントで次の操作を実行できます。

Mousetrap.unbind('esc');

それが役に立てば幸い。

于 2012-10-26T19:03:29.167 に答える
0

さて、今のところ:
onkeydownを使用して、アプリ内のescをブロックします。
最初のjsロード時:

document.onkeydown   

単純:

if(event.keyCode == 27)
 return false;

しかし、ある関数またはウィンドウで「こんにちは、Escキーを押してください」と言いたい場合は、ハードコアソリューションではありません。

誰かがより良い解決策を持っているなら、リクエストのためにESC効果をブロックするだけです..plz..貢献

于 2012-10-25T13:17:47.773 に答える