当前位置: 首页 > 面试题库 >

如何侦听组件外部的单击事件

姜磊
2023-03-14
问题内容

当在下拉组件外部单击时,我想关闭下拉菜单。

我怎么做?


问题答案:

在我添加的元素中mousedownmouseup像这样:

onMouseDown={this.props.onMouseDown} onMouseUp={this.props.onMouseUp}

然后在父母中,我这样做:

componentDidMount: function () {
    window.addEventListener('mousedown', this.pageClick, false);
},

pageClick: function (e) {
  if (this.mouseIsDownOnCalendar) {
      return;
  }

  this.setState({
      showCal: false
  });
},

mouseDownHandler: function () {
    this.mouseIsDownOnCalendar = true;
},

mouseUpHandler: function () {
    this.mouseIsDownOnCalendar = false;
}

showCal是一个布尔值,当true显示在我的情况下,日历和false隐藏它。



 类似资料:
  • 问题内容: 如何检测Angular中组件 外部 的点击? 问题答案: import { Component, ElementRef, HostListener, Input } from ‘@angular/core’;

  • 问题:我正在尝试为我的应用程序创建一个组件,其他组件将使用该组件渲染表。它可能有三个可能的单元格值: 文本 HTML 组成部分 我能够呈现上面所有的值,但是我在绑定侦听器时遇到了困难。我试图实现的是这样的:传递一个要绑定到组件的方法和事件,表应该将其绑定到相应的单元格。例如: 表JSON 表组件 上面只是我正在尝试的一个片段,表循环通过传递的对象并相应地呈现。 我已经试过了 因此,解决方案1 因此

  • 使用此答案中的代码解决单击组件外部的问题: 我不知道如何对不愉快的路径进行单元测试,以使警报不运行,目前为止我得到了什么: 我尝试过: 通过

  • 问题内容: 我正在构建一个允许将本地文件拖放到div上的组件。然后是有关已删除文件的信息输出。 我的问题是我不知道如何正确地附加事件侦听器以及创建组件时。 我的App组件是我所有逻辑所在的地方(拖放和拖移的处理程序),我创建了一个单独的组件,该文件将被放置在该组件上-dropZone组件。 我尝试将事件侦听器放在App组件的dropZone标记上,如果放置了dropZone组件,则在该位置放置事件

  • 女士们先生们晚上好, 我有一个Java Swing的问题,我无法解决,也许你可以帮助我。在这里: 我有一个使用BorderLayout的JFrame和许多JPanel 每次我需要设置一个新屏幕(即,从主菜单,当单击搜索按钮时,转到搜索菜单),我只需删除位于中心的组件(JPanel),并将新屏幕(新JPanel)放在中心 这样,我不会在每次我想显示新屏幕时调用所有的页眉和页脚对象 这个系统一切正常,

  • 问题内容: 我有一个id为id的按钮。我将此元素附加了两个jQuery事件 1。 2。 但是每次它给我 问题答案: 您需要使用超时来检查第一次点击后是否还有另一次点击。 这是窍门: 用法: