当用户在我的textarea中输入文字时,我的窗口会改变颜色。我希望当它在textarea外部点击时,它会像以前一样替换颜色。
<textarea class="chat-input"
id="textarea"
rows="2" cols="50"
(keyup)="detectTextarea($event)">
</textarea>
detectTextarea(event: any): any {
this.changeColor = true;
var textarea = document.getElementById("textarea");
}
///////// UPDATE //////////// 它不起作用:
detectTextarea(event: any): any {
var textarea = document.getElementById("textarea");
textarea.addEventListener("focus", function( event ) {
this.changeColor = true;
}, true);
textarea.addEventListener("blur", function( event ) {
this.changeColor = false;
}, true);
}
答案 0 :(得分:2)
您可以收听blur
事件,以了解用户何时退出textarea。
答案 1 :(得分:2)
像这样改变:
<textarea class="chat-input"
id="textarea"
rows="2" cols="50"
(focus)="func()"
(blur)="otherFunc()"
(keyup)="detectTextarea($event)">
</textarea>
然后:
func() {
this.changeColor = true;
}
otherFunc() {
this.changeColor = false;
}
}