我有以下页面:http://pastebin.com/sJAN1jkk,其中包含一个下拉导航菜单,其中包含多个无序列表。
菜单的下拉部分没有问题,问题是,当点击这些列表中的任何链接时,没有任何反应。
我感觉这是在某个地方的javascript,但不是专家,我无法解释原因。
非常感谢任何帮助。
如果我错过了相关/需要的相关信息,请告诉我们,我会更新问题。
---- ----编辑
菜单HTML:
<div class="rotaWrapper">
<div id="ddRotas" class="wrapper-dropdown-rotas" tabindex="1">
<span id="lblRotasMenu">Rotas and absences</span>
<ul class="dropdown">
<li><a id="hypRotas" href="Rotas.aspx">Rotas</a></li>
<li><a id="hypAbsence" href="Absence.aspx">Absences</a></li>
<li><a id="hypTraining" href="Training.aspx">Training</a></li>
</ul>
</div>
</div>
使用Javascript:
<script type="text/javascript">
function DropDown(el) {
this.dd = el;
this.initEvents();
}
DropDown.prototype = {
initEvents : function() {
var obj = this;
obj.dd.on('click', function(event){
$(this).toggleClass('active');
return false;
});
},
}
$(function() {
var ddRotas = new DropDown( $('#ddRotas') );
var ddWages = new DropDown( $('#ddWages') );
var ddMessages = new DropDown( $('#ddMessages') );
var ddDocs = new DropDown( $('#ddDocs') );
var ddAdmin = new DropDown( $('#ddAdmin') );
$(document).click(function() {
// all dropdowns
$('.wrapper-dropdown-rotas').removeClass('active');
$('.wrapper-dropdown-wages').removeClass('active');
$('.wrapper-dropdown-docs').removeClass('active');
$('.wrapper-dropdown-messages').removeClass('active');
$('.wrapper-dropdown-admin').removeClass('active');
});
});
</script>
答案 0 :(得分:1)
我认为这可能是你的问题:
obj.dd.on('click', function(event){
$(this).toggleClass('active');
return false;
});
您正在捕获下拉菜单的所有点击事件,然后返回false
。这会停止点击事件的触发。