【发布时间】:2018-11-21 13:37:09
【问题描述】:
所以我有一个隐藏的 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',) 事件吗?
【问题讨论】:
标签: javascript jquery angular events