我做了一个小的 jQuery 函数来显示/隐藏焦点和单击的子导航,但我不知道为什么它不起作用。
这是 HTML 代码:
<ul id="nav">
<li>
<a href="http://foo.com">Foo</a>
<ul>
<li><a href="#">Sub 1</a></li>
<li><a href="#">Sub 2</a></li>
<li><a href="#">Sub 3</a></li>
</ul>
</li>
<li>(...)</li>
</ul>
这是jQuery函数:
$(document).ready(function() {
subnavDisplay('#nav > li > a');
});
var subnavDisplay = function(selector){
if(!$(selector).length) return;
$(selector).focus(function() {
console.log('focus');
$(this).parent().addClass('is_opened').siblings().removeClass('is_opened');
});
$(selector).click(function(e) {
console.log('click');
if($(this).parent('is_opened').length === 0) {
e.preventDefault();
$(this).parent().addClass('is_opened').siblings().removeClass('is_opened');
}
});
};
当我激活链接以显示 subnav 时,始终播放焦点功能,而从不播放单击功能。你知道为什么吗 ?
非常感谢你的回答。