我有div元素,我在其中加载文本,通常是长文本,所以div有滚动条。我可以用鼠标在这个div中滚动,当光标在它上面时,我不能向上和向下滚动页面,除非我先在div里面点击。那么有没有办法避免这种点击,在加载文本时从代码中执行此操作?
答案 0 :(得分:1)
正如你所描述的那样。我将一个输入附加到内容div,然后focus()它,而不是尝试聚焦div。因此,在按下加载文本后,您可以按pg up / dn滚动div。
$("div").append('<input type="text" id="focusDiv">');
/*
Here I need to have some code which gives "focus to the div, so if I press the load text and then immediately PageDown key, sthedvis scrolls down.
$("button").on("click", function (e) {
e.preventDefault();
$("div").html("Very long text...");
$("div").append('<input type="text" id="focusDiv">');
$('#focusDiv').focus();
});
答案 1 :(得分:1)
这里的答案对我有用:
基本上向div添加tabindex
:
<div id="mydiv" tabindex="-1">
然后使用以下方式以编程方式设置焦点: 的document.getElementById( “mydiv”)聚焦();
从原帖:
tabindex值可以允许一些有趣的行为。
- 如果给定值为“-1”,则元素无法选项卡,但焦点可以 以编程方式给予元素(使用element.focus())。
- 如果给定值为0,则可以通过键盘对焦元素 落入文件的标签流程。
- 大于0的值 创建一个优先级,1是最重要的。