繁体   English   中英

当我们单击页面上的任意位置时,Angularjs获取事件?

[英]Angularjs get event when we click anywhere on page?

嗨,我正在使用angularjs开发SPA。 我有一个下拉菜单。 如果用户登录,则下拉菜单将是可单击的,并且它将展开各种选项,例如配置文件,注销等。在app.js中,我具有以下代码来扩展下拉菜单

  if (cookieloginid != null) {
            var id = document.getElementById('ProfileDropdown');
    id.innerHTML = $scope.ProfileDropdown = '<div data-drop-down>' + ' <ul>' +
        '<li><a href="#/userProfile">User Profile</a></li>' +
        '<li>test1</li>' +
       ' <li onclick="logout(event)">logout</li>' +
    '</ul>'+'</div>'; 
        }

上面的代码工作正常。 如果我单击下拉列表,它将展开并且不会关闭。 单击下拉列表后,如果我单击网页上的任意位置,我想关闭扩展的下拉列表。 我可以知道这可能吗? 任何帮助,将不胜感激。 谢谢。

您可以通过为上述内容创建自定义目录来实现此目的,有关信息,请参见下面的链接: http : //www.competa.com/blog/an-angular-click-anywhere-to-close-dropdown-menu-directive/

否则,您可以使用jquery $ {document)在文档上添加自定义事件以执行操作。

请参阅以下链接: http : //embed.plnkr.co/rpOgQC/

您也可能要使用event.stopPropagation();,以防您单击下拉列表,如果下拉列表没有打开,则可能不会结束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM