0

コードは、ページにあるいくつかのボタンにいくつかのアクセス キーを追加することです。インターフェイスは次のようなものです: いくつかのアコーディオン タブを含むメイン ページでは、accordion_A 、accordion_B および accordion_C とします。ボタン A には、「accordion_A」タブとしましょう。そのボタン A には、ホット キー (例: ALT+D) があります。が追加されるので、押すとそのボタンに関連付けられた機能が呼び出されます。

    if ( _browser.isIE )
        text += " href='javascript:void(0)'" +
                " onfocus='KeyPressed(\"" + key + "\")'></A>";
     else
        text += " href='Javascript:KeyPressed(\"" + key + "\")'></A>";

最初にページが開かれ、accordion_C がデフォルトのタブであると仮定します。今度は accordion_A に移動し、ホットキーが accordion_A (遅延タブ) にあるボタンに追加されます。ここで再び accordion_C に戻り、'ALT+D' を押して accordion_A にあるボタンを呼び出します。ボタン関数が呼び出され、ポップアップが開きます。問題はここから始まります.IEでポップアップを閉じると、再びonfocusイベントがトリガーされます.これは永遠に続きます.

この現象に対抗する方法はありますか? 読んでくれてありがとう。

4

1 に答える 1

0

これを KeyPressed 関数内に追加してみてください

 event.cancelBubble = true;
 if (event.stopPropagation) event.stopPropagation();   
于 2013-09-26T18:58:35.623 に答える