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