$(“。class”)。click()是否有任何等效项?在打字稿?

时间:2018-10-21 09:03:07

标签: jquery angular typescript

我正在按角度使用日期范围选择器。

<button type="button" class="btn btn-danger daterange-ranges">
<i class="icon-calendar22 position-left"></i> <span></span> 
<b class="caret"></b>
</button>

当我单击此按钮时,将出现一个下拉菜单,其中包含一个带有“ applyBtn”类的“应用”按钮来选择日期范围。

在JQuery中,有一个选项$(".class").click();获得了onclick函数。 我不能写(click)="getdateRange()"。打字稿中有$(".class").click();的等效项吗?

我想要类似的东西

$(".applyBtn").click(function(){ alert("The button was clicked."); });

2 个答案:

答案 0 :(得分:1)

您可以使用纯javascript并执行此操作

    document.querySelector('.applyBtn').addEventListener('click', () => {
       alert("The button was clicked.");
    });

它将与JQuery中的$(".applyBtn").click();做相同的事情

答案 1 :(得分:1)

正如我在标签中看到的那样,您正在使用Angular。在Angular中使用jQuery并不是一个好主意,因为它有自己的出色工具。

要创建点击处理程序,您需要执行以下操作

<anyTag (click)="clickHandler($event)"></anyTag>

然后在您的组件中粘贴下一个:

public clickHandler(event) {
  //do whatever you want
}

如果您想知道$event传递的内容,欢迎使用angular.io API

P.S。如果您想重复使用它,则需要使其成为date-picker.component.ts之类的额外组件,并将其粘贴到那里。然后,您可以通过将表单的值通过[date]="date"传递到创建的组件中并在组件@Input() date;中进行检索来访问表单的值。

还可以通过以下方式将值发送给父对象

@Output() emitter = new EventEmitter();

public emitValue(): void {
  this.emitter.emit(value);
}

并在父组件中获取发射值 <app-picker (emitter)="handleEmit($event)></app-picker>

parent-component.ts

public handleEmit(event) {
  //do something
}