Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS a:焦点“;“忘了吧”;单击iframe内部的最后一个位置_Javascript_Html_Css - Fatal编程技术网

Javascript CSS a:焦点“;“忘了吧”;单击iframe内部的最后一个位置

Javascript CSS a:焦点“;“忘了吧”;单击iframe内部的最后一个位置,javascript,html,css,Javascript,Html,Css,我的CSS上的a:focus运行良好,但前提是我没有单击iframe或页面的其他位置。 如何避免a:focus丢失上一个位置,无论我在哪里单击 只有CSS或简单的JavaScript才有可能 当我在SideNav上导航时,它运行良好: 如果我在页面的其他位置单击,SideNav将丢失最后一个位置: 我的CSS和HTML ul.SideNav_Main li a { text-decoration: none; color: #2e849e; padding: 10px

我的CSS上的
a:focus
运行良好,但前提是我没有单击
iframe
或页面的其他位置。 如何避免
a:focus
丢失上一个位置,无论我在哪里单击

只有CSS或简单的JavaScript才有可能

当我在SideNav上导航时,它运行良好:

如果我在页面的其他位置单击,SideNav将丢失最后一个位置:

我的CSS和HTML

ul.SideNav_Main li a {
    text-decoration: none;
    color: #2e849e;
    padding: 10px 20px;
    display: block;
}
 
ul.SideNav_Main li a:focus { background-color: #ffdb99;}


  • 最简单的方法是使用javascript(如果您对使用纯css解决问题感兴趣,可以查看无线电输入)。将“mySidebarLinks”类添加到您的链接中
    css:

    javascript:

      const links = document.getElementsByClassName("mySidebarLinks");
    
      for (var i = 0; i < links.length; i++) {
        links[i].addEventListener("click", (e) => {
            for (var j = 0; j < links.length; j++) {
                if (links[j]!=e.target){
                    links[j].classList.remove('myStyle');
                }else links[j].classList.add('myStyle');
            }
        });
      }
    
    const links=document.getElementsByClassName(“mySidebarLinks”);
    对于(变量i=0;i{
    对于(var j=0;j
    最简单的方法是使用javascript(如果您对使用纯css解决问题感兴趣,可以查看无线电输入)。将“mySidebarLinks”类添加到您的链接中
    css:

    javascript:

      const links = document.getElementsByClassName("mySidebarLinks");
    
      for (var i = 0; i < links.length; i++) {
        links[i].addEventListener("click", (e) => {
            for (var j = 0; j < links.length; j++) {
                if (links[j]!=e.target){
                    links[j].classList.remove('myStyle');
                }else links[j].classList.add('myStyle');
            }
        });
      }
    
    const links=document.getElementsByClassName(“mySidebarLinks”);
    对于(变量i=0;i{
    对于(var j=0;j
    谢谢。正在工作,但当我第一次单击时,什么也没有发生,我需要单击两次。BR对我来说,它似乎在第一次点击时就起作用了。您在哪里定义了javascript?你应该把它放在站点加载时初始化的地方。不在onclick事件或类似事件中。已修复。不是你的问题。再次感谢你。正在工作,但当我第一次单击时,什么也没有发生,我需要单击两次。BR对我来说,它似乎在第一次点击时就起作用了。您在哪里定义了javascript?你应该把它放在站点加载时初始化的地方。不在onclick事件或类似事件中。已修复。不是你的问题。又来了
      const links = document.getElementsByClassName("mySidebarLinks");
    
      for (var i = 0; i < links.length; i++) {
        links[i].addEventListener("click", (e) => {
            for (var j = 0; j < links.length; j++) {
                if (links[j]!=e.target){
                    links[j].classList.remove('myStyle');
                }else links[j].classList.add('myStyle');
            }
        });
      }