当前位置: 首页 > 知识库问答 >
问题:

防止基于页面上存在的另一个类的默认单击操作

楚志强
2023-03-14

我有下面的CSS代码,当。单击dashboard actions类将打开一个下拉菜单。单击树中的第二个div。下拉菜单更改为class=“dropdown open”(表示下拉菜单打开/可见),一旦用户单击关闭打开的类,下拉菜单将被删除,并且消失(如预期)。

我希望能够使用某种形式的javascript(AngularJS 1.3或jQuery),能够执行一些逻辑来识别下拉列表何时“打开”——如果是,如果用户单击屏幕上的任何其他位置,例如div下面的href,它将通过删除“打开”类而不是执行默认操作来打开“关闭”下拉列表,我怎样才能最好地处理这个问题?

<div class="dashboard-actions ellipsis">
   <div class="dropdown" stop-event>
      <div class="dropdown-toggle" type="button" id="dropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
           <span class="material-icons">more_vert</span>
      </div>
        <ul class="dropdown-menu" aria-labelledby="dropdown1">
           <div>
            <div ng-include src="'templates/menu.html'" ng-repeat="x in item.x"></div>
          </div>
        </ul>
   </div>
</div>
<div class="interaction-body">
  <a href="https://somecdn.com/t51.2885-15/aaa.jpg" ng-href="https://somecdn.com/t51.2885-15/aaa.jpg" target="_blank" stop-event="">
  <img ng-src="https://somecdn.com/t51.2885-15/aaa.jpg" src="https://somecdn.com/t51.2885-15/aaa.jpg"></a>
</div>

共有1个答案

长孙哲
2023-03-14

希望你正在寻找这个

//Some code

$('.dropdown-menu').each({
    if($(this).hasClass('open')){
        // Do something
        // $(this).removeClass('open');
    }
});

//More code
 类似资料:
  • 问题内容: 在表单中使用按钮时出现问题。我希望该按钮调用功能。它确实可以,但是刷新页面的结果令人讨厌。 我的简单代码是这样的 单击该按钮后,该函数将在页面刷新时被调用,这会重置所有我先前的请求,这会影响到当前页面,这是先前请求的结果。 我应该怎么做才能防止页面刷新? 问题答案: 让我们返回false。这将解决它。

  • 我的页面中有几个iframes,还有这个: 因此,当我单击页面中的任何位置时,我希望我的页面执行特定操作。但是由于iframe在那里,我实际上是在点击iframe,什么也没有发生。我怎么才能绕过这个?也许将iframe设置为背景图像或类似的线条?

  • 问题内容: 假设我有一个锚标记,例如 如何防止浏览器导航到 AngularJS中的 #? 问题答案: 更新 :此后,我改变了主意。经过更多的开发和花时间进行此工作之后,我相信针对此问题的更好解决方案是执行以下操作: 然后更新您的规则,使其具有附加规则: 它更加简单,并提供完全相同的功能,并且效率更高。希望对将来寻找该解决方案的其他人有所帮助。 以下是我以前的解决方案,仅出于遗留目的而留在这里: 如

  • 问题内容: 如何在用户类中打开数据库连接,我可以在其中进行数据库操作?以及为什么需要在DBConnection类中定义内置的已创建函数。 我创造了 db.php user.php result.php 在db.php中 在User.php中 在result.php $conn->real_escape_string(trim(strip_tags($_POST[‘username’]))); $e

  • 我有这样的标记 和像这样的JS 所以在这里,我希望当我点击课程时,只有课程内容会显示出来,就像这样,当我点击配置文件和库时,只有配置文件和库会显示出来。在这里,它的工作很好,但我想知道如何添加一个类活动时,一个项目被点击在锚标记。假设我点击了lessons,那么一个活动类应该被添加到lessons锚标记中,当我点击了profile,那么活动类应该被从lessons锚标记中移除,它应该在profil

  • 问题内容: 现在,我有一个div,它基本上是一个巨大的正方形,在div内,我还有另一个div,它是简单的文本,上面写着“ Upload File”,同时还有一个隐藏的input type = file元素。当用户按下div时,我要触发文件上传元素。到目前为止,我想出的代码是: 因此,我在CSS中将文件输入元素设置为。一旦他们在div id =“ test”中的任意位置单击,我想触发对文件上传元素的