我有一小段代码,像这样:
$("div.footerMenu li").click(
function () {
$("div.onScreen").hide();
$(this).children("div.onScreen").fadeIn('fast');
},function(){
$("div.onScreen").hide();
});//click
当我点击< li> div .onScreen显示得很好,但是当我点击这个div时,刚出现的函数隐藏起来并再次显示,但我不希望它再次执行此功能.所以我的问题是:我怎么能以某种方式从Javascript“分离/排除/隐藏”这个div?
更新:
问题是,使用此方法和其他人使用.one(),菜单的其余部分无效.该网站存在问题here.我希望这个div显示在那里,当我点击它时,但当我点击他们的项目时< li>我想要显示其他div(子菜单)(警告 – 该网站上的大图像).
html看起来像这样:
<div class="footerMenu"> <ul> <li>HOME<div class="onScreen"><div style="padding:50px;"><img src="fillTxt.png"></div></div></li> <li>PLENER<div class="onScreen"> <div style="padding:50px;"><img src="fillTxt2.png"></div></div> </li> <li>STUDIO<div class="onScreen"> <div style="padding:50px;"><img src="fillTxt.png"></div></div> </li> <li>INNE<div class="onScreen"> <div style="padding:50px;"><img src="fillTxt2.png"></div></div> </li> </ul> </div>
解决方法:
简单的解决方案是:
$('div.footerMenu li').unbind('click');
但是,如果选择器上有多个单击处理程序,您可能只想一次删除一个.这样做的方法是存储对传递函数的引用:
function hideItem()
{
...code...
//unbind the click event
$(this).unbind('click', hideItem);
}
$('div.footerMenu li').click(hideItem);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。