如何知道应该滚动哪个div?

时间:2016-11-30 09:00:20

标签: javascript

在网页中,有两个可滚动的div。 当我按Arrow down key时,其中一个div向下滚动。
网页如何知道应该滚动哪个div? 这个div中是否有一个标记应该滚动?
如何编程来验证这一点?
实际上,我想控制这种滚动行为。当我按下箭头键时,我想将焦点放在div中的下一个项目而不是滚动。

3 个答案:

答案 0 :(得分:0)

如果您真的想使用javascript,可以试试这个:

$(window).scroll(function(eventObject) {
 // do stuff! You can find out about how far the window has scrolled via the eventObject.
});

答案 1 :(得分:0)

为两个div提供ID,例如div1和div2

捕获div1的关键事件并将焦点设置为div2 处理程序

如果是JQuery,您可以使用以下代码: -

    $('#div1').keydown(function(e) {

       switch(true) {
           case (e.which==37) || (e.which==38) || (e.which==39) ||(e.which==40) : 
           $('#div2').focus();
           break;
           default: return; // exit this handler for other keys
       }

       e.preventDefault(); // prevent the default action (scroll / move caret)
   });

如有任何疑问,请与我们联系。

答案 2 :(得分:0)

如果您没有在div上设置tabindex,其他答案将无法运作。

点击此处https://jsfiddle.net/Havock94/qb2hy8Lt/

在div上设置tabindex

<div id="one" tabindex="1">

捕获keydown并阻止滚动

$('div').keydown(function(e) {
        e.preventDefault();

然后处理按键