Обычно виджет стороннего производителя должен предоставлять обработчик щелчков, например:
<myWidGet (click)="myFunction($event)"></myWidGet>
и в контроллере:
myFunction(evt) {
const target = evt.target
console.log('test')
}
Однако, если они не предоставляют обработчики щелчков, то ясерьезно подумал бы не использовать виджет.
Если вы все равно хотите использовать виджет, то сделайте это с помощью jQuery:
ngAfterViewInit() {
$('.dx-edit-row.dx-command-edit.dx-link-save').on('click', (evt) => {
const target = evt.target
console.log('test')
});
}
Выше предполагается, что ВСЕ эти классы присутствуют на одной кнопке.
Или просто используйте vanilla JS.
Если кнопки недоступны на ngAfterViewInit()
, вы можете сделать это:
ngAfterViewInit() {
const interval = setInterval(() => {
const button = $('.dx-edit-row.dx-command-edit.dx-link-save')
// if button is ready
if (button) {
// add click handlers
button.on('click', (evt) => {
const target = evt.target
console.log('test')
});
// stop polling
clearInterval(interval)
}
}, 100)
}