首页 > 解决方案 > 向下滚动按钮覆盖 .focus 功能

问题描述

我有一个链接到一个部分的跨度按钮,当单击它时,它会向下滚动到该部分。我在跨度上还有一个“onclick”功能,它试图将焦点放在新部分中的 div 上。

出于某种原因,我认为 a href 链接覆盖了要关注的功能。

我已经在函数中放置了一个 console.log 并且这个日志不会失败。

这是按钮:

<a href="#navpage"><span id="button" onclick="focusText()"></span></a>

这是我试图关注的 div:

<div role="textbox" contenteditable="true" id="navtype" class="consoleText" tabindex="0" style="border:none" spellcheck="false"></div>

这是我调用来聚焦 div 的函数:

  function focusText() {
  document.getElementById("navtype").focus();
  console.log("hello");
  };

我也尝试这样做无济于事:

document.getElementById("button").onclick = function () {
  document.getElementById("navtype").focus();
  console.log("hello");
};

我已经编辑了该功能,当我单击其他内容时它可以工作,例如您可以在下面看到的不同 div:

document.getElementById("navpage").onclick = function () {
  document.getElementById("navtype").focus();
};

我知道通常您无法专注于 div,但是我通过向 div 添加 tabindex 来解决这个问题,这意味着它现在可以聚焦。

标签: javascripthtmlfocusdom-eventshref

解决方案


推荐阅读