javascript - typescript - 检测 div 是否溢出文本

标签 javascript angular typescript width overflow

Angular2/Typescript 中有没有一种方法可以根据屏幕的宽度来检测 div 是否溢出文本。如果文本溢出,我想显示一个“更多”按钮。右侧还有一个书签图标,因此我必须将其考虑到 div 宽度。

在我的 HTML 中:

<div *ngFor="let i of items"> {{ i }} 
  <i class="fa fa-bookmark" aria-hidden="true"></i>
</div>

//If the text is overflow
<button *ngIf="overflow"> More </button>

在我的 typescript 中:

@HostListener('window', ['$event'])
public checkOverflow() {
    console.log(event.target.innerWidth)
}

问题是考虑到侧面还有其他元素,如何找出 div 宽度是多少。有没有另一种方法来检查字符串是否在 javascript/typescript 端溢出?

最佳答案

HTML 文件

<div #theElementYouWantToCheck>
  .
  .
  .
  <button *ngIf="checkOverflow(theElementYouWantToCheck)"> More </button>

</div>

TS文件

  checkOverflow (element) {
    return element.offsetHeight < element.scrollHeight ||
           element.offsetWidth < element.scrollWidth;
  }

关于javascript - typescript - 检测 div 是否溢出文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44016882/

相关文章:

reactjs - 如何在 react-beautiful-dnd 中禁用一项的可拖动属性

Angular 4 (AOT) + Electron 和条件导入

javascript - 相对于绝对值 : get the position that a relatively positioned element would have if it was absolutely positioned?

javascript - openlayers 如何检测标记是否在多边形内

html - 如何将 css 添加到 ionic 2 组件模板

angular - 对使用 AngularFireAuth 和模拟 authState 的服务进行单元测试

javascript - Bootstrap 模式与youtube视频在关闭时不会暂停

javascript - 如何用新的替换我的网格

angular - 将 Angular 5 与 ASP.NET MVC 5 集成

mongodb - 在TS文件中编写mongo shell脚本