Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 连续第二次单击时禁用href_Javascript_List_Anchor_Href - Fatal编程技术网

Javascript 连续第二次单击时禁用href

Javascript 连续第二次单击时禁用href,javascript,list,anchor,href,Javascript,List,Anchor,Href,我有一个主菜单和子菜单。单击子菜单时,我希望在第一次单击时禁用href,然后在第二次单击时启用href。如果我单击秒菜单1,然后单击秒菜单2-秒菜单1应被禁用。仅当连续单击两次时才应启用它 对于初学者,您必须使用preventDefault(),并且只有在以前单击过链接的情况下才允许默认操作。您可以通过添加属性并检查其存在性来跟踪它 var links=document.querySelectorAll('ula'); 对于(变量i=0;i

我有一个主菜单和子菜单。单击子菜单时,我希望在第一次单击时禁用href,然后在第二次单击时启用href。如果我单击秒菜单1,然后单击秒菜单2-秒菜单1应被禁用。仅当连续单击两次时才应启用它


对于初学者,您必须使用
preventDefault()
,并且只有在以前单击过链接的情况下才允许默认操作。您可以通过添加属性并检查其存在性来跟踪它

var links=document.querySelectorAll('ula');
对于(变量i=0;i
如果您使用的是jquery,则可能需要使用
.data()

var links = document.querySelectorAll('ul a');

for (var i = 0; i < links.length; i++) {
    links[i].onclick = handlerGen(i);
}

function handlerGen(index) {
    return function clickHandler(event) {
        var link = event.target;
        if (!link.hasAttribute('clicked')) {
            event.preventDefault();
            resetClicked(index);
        }
    };
}

function resetClicked(index) {
    for (var i = 0; i < links.length; i++) {
        if (i == index) {
            links[i].setAttribute('clicked', true);
        } else {
            links[i].removeAttribute('clicked');
        }
    }
}