我更新angular
和angular-cli
後,我仍然面臨奇怪的問題。我有兩個<div>
s,我試圖隱藏一個,當點擊一個按鈕時顯示另一個。Angular - 點擊事件沒有觸發按鈕
這裏是我的功能:
ngOnInit() {
this.goalView = this.el.nativeElement.getElementsByClassName('goal-view')[0];
this.goalEdit = this.el.nativeElement.getElementsByClassName('goal-edit')[0];
}
triggerEdit(): void {
this.goalView.style.display = 'none';
this.goalEdit.style.display = 'block';
}
triggerView(save: boolean): void {
this.goalEdit.style.display = 'none';
this.goalView.style.display = 'block';
}
而且我的模板:
<div class="goal-view">
...
<button class="ui right floated green button margin-vertical-10" (click)="triggerEdit()"><i class="ui edit icon"></i>Edit</button>
</div>
<div class="goal-edit">
...
<button class="ui right floated green button margin-vertical-10"><i class="ui save icon" (click)="triggerView(true)"></i>Save</button>
</div>
當我點擊edit
按鈕,它的工作原理。當我點擊save
按鈕時,它有時會起作用。但有時它不會,我應該點擊30-40次才能使它工作。我試圖在triggerView
函數中使用console.log("something")
,但它的確如此。有時工作,有時不工作。
我還檢查click
事件event.target
:
document.addEventListener('click', function(evt) {
console.log(evt.target);
}, false);
似乎正常。當我點擊時,它打印正確的<button>
。
有什麼想法應該是什麼問題?
您有圖像標記而不是按鈕標記的第二個點擊偵聽器,是故意的嗎? – cy3er
哦,我爲此浪費了3個小時:(你是對的,謝謝! –
@ cy3er不要張貼答案評論.post它作爲答案 – IsuruAb