如果元素包含溢出的内容,则在html元素内显示图标

时间:2018-07-19 16:02:21

标签: javascript angular overflow ngfor ngif

当div中的内容溢出时,我想显示“复制到剪贴板”图标

我有一个用于四个div的ng,如果该div中的任何一个溢出,我想显示该相应div的图标。

<div *ngFor div of FourDivs (mouseenter)="IfDivHasOverflow($event)">
  <div *ngIf="hasOverflow"></div>
</div>

脚本:      @零件      mycomponent(){

 hasOverFlow:boolean = false;

 IfDivHasOverflow(event) {
   if(event.scrollHeight < event.cleintHeight) {
    this.hasOverflow = true;
   }
 }

问题是“ hasOverflow”对于ngfor重复中的每个div都是正确的。所有四个div都在其中显示一个图标,而需要的是溢出的特定div包含该图标。

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

基本上,每个hasOverflow需要一个div标志。

尝试以下代码:

<div *ngFor="div of FourDivs" (mouseenter)="IfDivHasOverflow($event, div)">
  <div *ngIf="div.hasOverflow"></div>
</div>


 IfDivHasOverflow(event, div) {
    div.hasOverflow = false;
   if(event.scrollHeight < event.cleintHeight) {
    div.hasOverflow = true;
   }
 }