首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery on("click",函数事件)

Jquery on("click",函数事件)
EN

Stack Overflow用户
提问于 2013-08-12 13:26:30
回答 7查看 627关注 0票数 0

我现在有一个非常简单的jquery函数,如果按下菜单,就会显示菜单。

代码语言:javascript
运行
复制
$(".menu").on("click", function( event ){
   $(".menulist").css("display","block");
   alert(event);
})

如果再次单击“菜单”按钮或单击“关闭”菜单,我希望再次显示“不显示”。

我尝试了下面的off函数,但后来意识到它无论如何都不会起作用:

代码语言:javascript
运行
复制
$(".menu").off("click", function(){
   $(".menulist").css("display","none");     
})

对如何做这件事有什么建议吗?如果这对移动网站也有帮助的话

编辑:事件在第一个函数中,因为我认为我可以使用这个事件来判断项目是否已经显示。不过,不管是哪种情况,我会更好地使用(“单击”函数()来检查.menu显示的css值是否等于块或无,然后从那里更改css?)这将解决单击菜单按钮的问题,但不会取消菜单。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-08-12 13:29:40

使用$(".menu").on("click", function(){ $('.menulist').toggle() });切换菜单列表的可见性。

更新

若要在单击off菜单元素时关闭菜单,只需捕获body标记上的单击事件,并关闭打开的菜单:

整个片段看起来如下所示:

代码语言:javascript
运行
复制
$('.menu').on('click', function(){ 
    $('.menulist').toggle();
});

$('body').on('click', function(e){
    if(!$(e.target).hasClass('.menu') && $('.menulist').is(':visible')) {
        $('.menulist').hide();
    }
});
票数 3
EN

Stack Overflow用户

发布于 2013-08-12 13:29:36

代码语言:javascript
运行
复制
$(".menu").on("click", function( event ){
   $(".menulist").toggle();
})
票数 3
EN

Stack Overflow用户

发布于 2013-08-12 13:28:28

尝试使用toggle方法的jQuery:

代码语言:javascript
运行
复制
$(".menu").on("click", function() {
    $(".menulist").toggle();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18188202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档