【问题标题】:angular div (clickOutside) is called when clicking input inside of div单击 div 内的输入时调用 angular div (clickOutside)
【发布时间】:2021-02-16 01:01:14
【问题描述】:

我在 div 中使用 (clickOutside) 指令,当我单击 div 内的输入元素时调用它。

<div class="col-4 align-self-center" (click)="setMethod(true)"
     (clickOutside)="setMethod(false)" >
    <button type="button" mat-raised-button color="accent" >
        <input type="text"
               class="form-control"
               *ngIf="activeTitle"
               [(ngModel)]="title" />
    </button>
</div>

【问题讨论】:

    标签: javascript html css angular


    【解决方案1】:

    您可以绑定到 (blur) 事件,而不是使用 (clickOutside)。也许这对你有用?

    请注意,当组件失去焦点时会触发 blur 事件。这意味着为了使 blur 触发,HTML 元素需要首先获得焦点。例如。用户必须用鼠标点击它。当您的用户单击该元素内部的任何位置时,您可以在该元素上调用 focus() 方法,从而确保当元素失去焦点时触发 blur

    例如:

    <div
        class="col-4 align-self-center"
        (click)="setMethod(true)"
        (blur)="setMethod(false)"
    >
        <button
            type="button"
            mat-raised-button color="accent"
        >
            <input
                type="text"
                class="form-control"
                *ngIf="activeTitle"
                [(ngModel)]="title"
            />
        </button>
    </div>
    

    【讨论】:

      猜你喜欢
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 2015-11-09
      • 2020-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多