Итак, у меня есть скрытая структура DOM, которую я сделаю видимой при нажатии на кнопку (чтобы добавить некоторые поля ввода).Теперь я также хочу удалить эти поля ввода, если они больше не нужны.Это моя структура, которую я клонирую с помощью jQuery:
<ul id="CTcontainer" class='hidden removeContainer'>
<li>
<label>Content Type Name:</label>
<input class="json-input" type="text" name="CT_name">
</li>
<li>
<label>Content Type Group:</label>
<input class="json-input" type="text" name="CT_group">
</li>
<li *ngIf="contentTypeArray.length != '0'">
<label>Inherit from Content Type:</label>
<select class="json-input" name="CT_contentTypeInherit">
<option *ngFor="let ct of contentTypeArray">{{ ct.name }}</option>
</select>
</li>
<li>
<button type="button" class="btnSubmit" (click)="removeThisCT($event)">Remove these ContentType input fields</button>
</li>
</ul>
Нажатие на кнопку «Добавить»:
public addNewCT(event: Event) {
$('#ContentTypes').append($('#CTcontainer').clone(true, true).removeAttr('id').removeClass('hidden'));
}
При нажатии на кнопку должно сработать следующее:
public removeThisCT(event: Event) {
alert('testclick');
console.log('testclick');
// $(this).closest('.removeContainer').remove();
}
Но ничего не происходит, отладка в инструментах разработки также показывает, что я не вхожу в функцию при нажатии кнопки.Кажется, мое событие не клонировано?Глядя на jQuery .clone (), он сказал добавить (true, true) клонирование с dataAndEvents и глубокими событиями и т. Д., Но, похоже, не работает?
Это потому, что это угловое событие нажатия, а не событие jquery .on ('click',)?