如何仅在窗体更改时向窗口添加事件侦听器

How add event listener to window only if form has been changed

本文关键字:窗口 添加 事件 侦听器 何仅 窗体      更新时间:2023-09-26

与许多表单一样,用户在填写字段时可能不小心点击了一些链接。

但如果他们没有填充任何人,我不需要阻止你卸载。

如何添加事件onbeforeunloadwindow对象只有当形式已经改变?

先绑定事件,然后检查表单是否发生了变化。

示例代码:

window.onbeforeunload = function(e) {
    var formChanged = $(".name").val(); // This is example. Make any boolean value.
    if (formChanged) {
        return 'Dialog text here.';
    }
};

还有另一种方法可以做到这一点,如果你有jQuery,你可以阻止所有的链接(a)点击,如果用户没有填写任何内容

function fillCheck(){
    return /* filled? (true or false) */;
}
$('body').on('click','a',function(){
    isFill =  fillCheck();
    if(!isFill){
        return false;
    }
})