Scroll 启用div以通过键盘滚动,而无需单击

Scroll 启用div以通过键盘滚动,而无需单击,scroll,Scroll,我在div元素中加载文本,通常是长文本,因此div有滚动条。当光标在这个div上时,我可以用鼠标在这个div中滚动,但我不能上下滚动页面,除非我先在div内单击。那么,有没有一种方法可以避免这种点击,在加载文本时从代码中执行 如您所述,就在这里。我在content div中添加了一个输入,然后focus()将其显示出来,而不是试图对div进行聚焦。因此,在按下load text之后,可以立即按下pg up/dn滚动div $(“div”)。追加(“”); /* 在这里,我需要一些代码来给div

我在div元素中加载文本,通常是长文本,因此div有滚动条。当光标在这个div上时,我可以用鼠标在这个div中滚动,但我不能上下滚动页面,除非我先在div内单击。那么,有没有一种方法可以避免这种点击,在加载文本时从代码中执行

如您所述,就在这里。我在content div中添加了一个输入,然后focus()将其显示出来,而不是试图对div进行聚焦。因此,在按下load text之后,可以立即按下pg up/dn滚动div

$(“div”)。追加(“”);
/*
在这里,我需要一些代码来给div提供“焦点”,所以如果我按下加载文本,然后立即按下PageDown键,dvis就会向下滚动。
$(“按钮”)。在(“单击”)上,函数(e){
e、 预防默认值();
$(“div”).html(“非常长的文本…”);
$(“div”)。追加(“”);
$('focusDiv').focus();
});

这里的答案对我很有用:

基本上在div中添加一个
tabindex

<div id="mydiv" tabindex="-1">

然后使用以下命令以编程方式设置焦点: document.getElementById(“mydiv”).focus()

从原来的职位:

tabindex值可以允许一些有趣的行为

  • 如果给定的值为“-1”,则该元素不能被标记,但焦点可以 可以通过编程方式(使用element.focus())指定给元素
  • 如果给定的值为0,则可以通过键盘和 属于文档的选项卡流
  • 值大于0 创建优先级级别,1是最重要的

您可以添加示例代码(如JSFIDLE)来进行说明吗?我很想提供帮助,但我不清楚您的确切问题。是的,我可以,希望它能有所帮助。我正在尝试找到一些更有效的解决方案,但这并不是很糟糕,效果很好,谢谢!您能包括您在这里引用的答案中的相关细节吗?
<div id="mydiv" tabindex="-1">