键入脚本BeforeUnloadEvent未触发

问题描述 投票:0回答:1

在我的应用程序中,我有一个评论框,我想显示一条消息,它没有保存。在函数warnOpenEditor中我添加了window.onbeforeunload事件,但它不会触发。附加TS和html文件。

我还需要做些什么来解雇这个事件吗? TS文件

import 
    @HostListener('window:beforeunload', ['$event'])
        beforeUnloadHander(event) {
        if (this.IsTouched = true) {
           event.returnValue = 'You have unfinished changes!';
        }
    }
    private cancel() {
    this.IsTouched = false;
    if (this.comments.length === 0) {
        this.hideComments();
    } else {this.hideEditor();}
    this.commentText = "";}
    private warnOpenEditor() {
        this.IsTouched = true;
        for (let i = 0; i < 2; i++) {
            this.$commentForm.fadeTo(100, 0.3).fadeTo(100, 1.0);}
    }
}

SideCommentsComponet.html

                <p class="comment" [innerHTML]="comment.Content | newline">
javascript typescript onbeforeunload
1个回答
1
投票

您是否尝试将卸载事件移出方法?

您应该使用此代码

@HostListener('window:beforeunload', ['$event'])
beforeUnloadHander(event) {
    //check your comment box value to show message
}
© www.soinside.com 2019 - 2024. All rights reserved.