我在我的 Angular 應用程式中撰寫了代碼,以將用戶選擇/突出顯示的文本片段放入文本區域:
<textarea name="highlightedText" id="selectedText" rows="3" class="form-control"
placeholder="Your highlighted text will appear here..."
[(ngModel)]="highlightedText" (mouseup)="mouseUp()">
</textarea>
在我的組件中,我有:
// Content of user annotation
highlightedText: string = "";
constructor() {
document.body.addEventListener("mouseup", () => {
this.mouseUp();
});
}
mouseUp() {
if (window.getSelection) {
this.highlightedText = window.getSelection()!.toString();
}
return this.highlightedText;
}
這有效; 這意味著我選擇的文本出現在文本框中,但只要我點擊該框(或點擊頁面上的任意位置),文本就會消失。
傳輸的文本沒有留在那里,我做錯了什么?
uj5u.com熱心網友回復:
你真正期望的是什么 - 當你點擊(制作'mousedown'/'mouseup')時重新評估val...
mouseUp() {
if (window.getSelection) {
this.reEval();
}
return this.highlightedText;
}
reEval() {
const val = window.getSelection()!.toString().trim();
if (!!val.length) this.highlightedText = val;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326539.html
標籤:javascript html 有角的 打字稿 鼠标向上
下一篇:重繪頁面總是重定向到基本URL
