2017-07-21 6 views
0

スクロールダウン矢印キーのときKeyboardEventのKeyDownイベントを動作しません

body { 
 
    padding: 0px; 
 
    margin: 0px; 
 
} 
 

 
#head { 
 
    background: red; 
 
    height: 30px; 
 
    tab 
 
} 
 

 
#content { 
 
    position: absolute; 
 
    top: 30px; 
 
    left: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    font-size: 60px; 
 
    background: green; 
 
    overflow: overlay; 
 
}
<div id='container'> 
 
<div id='head'>Header</div> 
 
    <div id='content'> 
 
    <pre> 
 
     1 
 
     2 
 
     3 
 
     4 
 
     5 
 
     6 
 
     7 
 
     8 
 
     9 
 
     10 
 
     11 
 
    </pre> 
 
    </div> 
 
</div>

を発生します。コンテンツのdivにはoverflow:overlayがあり、焦点が合っていればすべてが問題ありません。スクロールを行う方法はありますか?

  • フォーカスコンテンツのdiv
  • 上のコンテンツのdivにウィンドウのKeyDownイベントディスパッチスクロールイベントに

    • しかし、何も動いていないようにみえ:

      私のようないくつかの例を試してみました。

      もう一つの質問は、keydownのデフォルトアクションがスクロールであると判断された場合です。ヘッドdiv要素がクリックされたときに

      コードは、コンテンツのdivの上に存在here

    +0

    私はあなたのフィドルとスニペットを試して、ヘッダーをクリックして、矢印キーを押した。ウィンドウがスクロールした。問題/質問が何であるかは不明です。 – trincot

    +0

    私はあなたが何を参照しているのを参照してください。ヘッダーが始まるところでスクロールバーが終了するので、これは正常な動作だと思います。 –

    +0

    @trincotヘッダーをクリックすると、フレーム内のスクロールが矢印キーでスクロールしないことに気づくでしょう –

    答えて

    0

    焦点となっています。 注:私はまだそれがのkeydownイベントスクロールのデフォルトのアクションであると判断された場合とは明らかではないんですが、コンテンツのdivが

    <div id='container'> 
    <div id='head'>Header</div> 
        <div tabindex='1' id='content'> 
        <pre> 
         1 
         2 
         3 
         4 
         5 
         6 
         7 
         8 
         9 
         10 
         11 
        </pre> 
        </div> 
    </div> 
    <script> 
    document.getElementById('head').addEventListener('click', function() { 
        const content = document.getElementById('content'); 
        content.focus(); 
    }); 
    </script> 
    

    更新コードを属性のtabIndexしている場合は、フォーカスはのみ動作しますがhere

    で、この動作を無効にできますか?

    関連する問題