容器导航下拉列表的单击问题(需要双击才能下拉)
onClick issue with navigation dropdown for container(needs double clicks to dropdown)
我在 JS 文件中使用 onClick 函数时遇到问题当打开一个选项卡时,我尝试单击第二个链接,除非单击链接两次,否则新选项卡不会打开。这是 HTML 代码:
<body>
<nav>
<div id="navContainer">
<ul>
<li> <a href='' class='tabButton' data-openTab='1'>1</a></li>
<li> <a href='' class='tabButton' data-openTab='2'>2</a></li>
<li> <a href='' class='tabButton' data-openTab='3'>3</a></li>
<li> <a href='' class='tabButton' data-openTab='4'>4</a></li>
<li> <a href='' class='tabButton' data-openTab='5'>5</a></li>
</ul>
</div>
<div id = "tabCont" class="tabContainer">
<div id="1">
</div>
</div>
<div id="2" >
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="3" >
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="4" >
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="5" >
<a href="" class="closeButton"> CLOSE </a>
</div>
</nav>
</body>
这是 JS
$(document).ready(function() {
document.menuIsOpen = false;
$('.tabContainer > div').hide();
$('.tabContainer > div:first-of-type').hide();
$('.tabButton').click(function(event) {
if (document.menuIsOpen == false) {
document.menuIsOpen = true;
event.preventDefault();
$('.tabContainer > div').hide();
$("#" + $(this).attr('data-openTab')).toggle("slow").css("display", "block");
$('.tabButton').click(function(event) {
$('.tabContainer > div').hide();
$("#" + $(this).attr('data-openTab')).show().css("display", "block");
});
} else {
document.menuIsOpen = false;
event.preventDefault();
$('.tabContainer > div').hide("slow");
$('.tabContainer > div:first-of-type').hide("slow");
}
$('.closeButton').click(function(event) {
event.preventDefault();
$('.tabContainer > div').hide("slow");
$('.tabContainer > div:first-of-type').hide("slow");
});
});
$('.tabContainer > div').hide();
$('.tabContainer > div:first-of-type').hide();
});
我确定我的代码非常混乱,但除了onClick问题之外,它应该工作。提前谢谢你!
HTML:
<nav>
<div id="navContainer">
<ul>
<li>
<a href='' class='tabButton' data-openTab='1'>1</a>
</li>
<li>
<a href='' class='tabButton' data-openTab='2'>2</a>
</li>
<li>
<a href='' class='tabButton' data-openTab='3'>3</a>
</li>
<li>
<a href='' class='tabButton' data-openTab='4'>4</a>
</li>
<li>
<a href='' class='tabButton' data-openTab='5'>5</a>
</li>
</ul>
</div>
<div id = "tabCont" class="tabContainer">
<div id="1">1
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="2">2
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="3">3
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="4">4
<a href="" class="closeButton"> CLOSE </a>
</div>
<div id="5">5
<a href="" class="closeButton"> CLOSE </a>
</div>
</div>
</nav>
.JS:
document.menuIsOpen = false;
$('.tabContainer > div').hide();
$('.tabButton').click(function(event) {
var
open = $("#" + $(this).attr('data-openTab')),
isOpened = open.is('.opened');
event.preventDefault();
if (document.menuIsOpen) {
document.menuIsOpen = false;
$('.opened').hide("slow").removeClass('opened');
}
if (!isOpened) {
document.menuIsOpen = true;
open.addClass('opened').show("slow").css("display", "block");
}
});
$('.closeButton').click(function(event) {
event.preventDefault();
$('.opened').hide("slow").removeClass('opened');
});
演示:http://jsfiddle.net/nothrem/mcgv4gok/
- 使用类从一个标记中双击事件
- onclick函数需要双击,因为类分配延迟
- 了解双击代码标记
- jquery Onclick函数带有导致双击的回调排序函数
- 将桌面上的悬停导航栏转换为触摸屏上的可点击导航栏
- 防止双击执行两次jQuery post请求
- JavaScript双击事件
- 选择“字符串”并使用SeleniumJava双击
- jQuery UI自动完成需要在iOS上双击
- 使用jquery在html中添加双击操作
- 双击泛光灯单击
- 如何在Firefox中禁用视频的单击和双击控件
- 双击可更改树标签
- svg.js/svg平移缩放-双击交互
- 在WordSmith jquery中,双击后什么决定了链接图标的位置
- 宣传单:双击时不要触发点击事件函数
- d3 中是否有点击和双击事件.js力定向图
- 当单选按钮的标签可单击时双击
- 容器导航下拉列表的单击问题(需要双击才能下拉)
- jQuery Mobile -内部#页面导航只能在页面首次加载时双击才能工作