Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅对1个事件按钮禁用事件onbeforeunload_Javascript_C#_Asp.net_Webforms_Onbeforeunload - Fatal编程技术网

Javascript 仅对1个事件按钮禁用事件onbeforeunload

Javascript 仅对1个事件按钮禁用事件onbeforeunload,javascript,c#,asp.net,webforms,onbeforeunload,Javascript,C#,Asp.net,Webforms,Onbeforeunload,我使用JavaScript函数beforeunload在加载应用程序期间显示一个模式。 我的母版页中的代码: <script> window.addEventListener("beforeunload", function (e) { var modal = document.createElement("div"); modal.className = "modal-backdrop fade in"

我使用JavaScript函数beforeunload在加载应用程序期间显示一个模式。 我的母版页中的代码:

<script>
        window.addEventListener("beforeunload", function (e) {
            var modal = document.createElement("div");
            modal.className = "modal-backdrop fade in"
            modal.innerHTML = '&nbsp;';
            var loader = document.createElement("div");
            loader.className = "loader"
            loader.innerHTML = '<i class="glyphicon glyphicon-hourglass"></i><br/><br/>Veuillez patienter...<br/>';
            document.body.appendChild(modal);
            document.body.appendChild(loader);
            return null;
        });
    </script>
我试图在我的按钮事件中调用此函数,但它不起作用:

function stopNavigate() {

        window.onbeforeunload = null;

    }

如何仅禁用此按钮的beforeunload?

将侦听器函数转换为可在其他位置引用的独立函数,因此它不是匿名的。然后,您可以稍后使用
removeEventListener
将其删除。(将
null
指定给*属性上的
只会删除使用*
属性上相同的
附加的侦听器)

函数卸载处理器(e){
var modal=document.createElement(“div”);
modal.className=“模态背景淡入”
modal.innerHTML='';
var loader=document.createElement(“div”);
loader.className=“loader”
loader.innerHTML='

Veuillez patienter…
'; document.body.appendChild(模态); document.body.appendChild(加载器); 返回null; } window.addEventListener(“卸载前”,卸载处理器); // ... 函数stopNavigate(){ removeEventListener('beforeunload',unloadHandler); }
当用户选择关闭选项卡/窗口时,为什么要添加小时窗?我在浏览器加载时添加小时窗,而不是当用户选择关闭窗口时添加小时窗?…卸载前的
在关闭时触发,而不是加载,因此您的问题毫无意义。非常感谢!
function stopNavigate() {

        window.onbeforeunload = null;

    }
function unloadHandler (e) {
  var modal = document.createElement("div");
  modal.className = "modal-backdrop fade in"
  modal.innerHTML = '&nbsp;';
  var loader = document.createElement("div");
  loader.className = "loader"
  loader.innerHTML = '<i class="glyphicon glyphicon-hourglass"></i><br/><br/>Veuillez patienter...<br/>';
  document.body.appendChild(modal);
  document.body.appendChild(loader);
  return null;
}

window.addEventListener("beforeunload", unloadHandler);

// ...

function stopNavigate() {
  window.removeEventListener('beforeunload', unloadHandler);
}