html关闭当前页面前alert,javascript – 停止页面执行,像alert()函数

你不能。只有特殊的内置函数才能做到这一点。有一段时间,有一个

showModalDialog特殊内置,让你指定一个URI的内容,从而自定义它,但它从来没有得到广泛支持,现在已被弃用,即使由曾经支持它的浏览器。

相反,使您的当前警报函数使用div接受警报关闭时的回调(或返回在关闭时返回的确认),以允许您继续处理。

例如,如果你的代码用来使用alert和工作,像这样:

function foo() {

var x;

x = doSomething();

alert("Alert! Alert!");

doSomethingAfterTheAlertIsCleared(x);

doAnotherThingAfterward();

}

…您可以将其更改为:

function foo() {

var x;

x = doSomething();

fakeAlert("Alert! Alert!", function() {

doSomethingAfterTheAlertIsCleared(x);

doAnotherThingAfterward();

});

}

注意,现在所有跟在警报之后的代码都在一个函数中,它的引用传递给fakeAlert。 foo函数返回,同时假警报仍然显示,但最终用户关闭假警报,我们的回调被调用。注意,我们的回调代码可以访问我们正在处理的foo调用中的本地化,因为我们的回调是一个闭包(不要担心,如果这是一个相当新的和/或神秘的术语,closures are not complicated)。

当然,如果跟随警告的唯一的事情是单一的函数调用,不接受任何参数,我们可以直接传递该函数引用。例如:

function foo() {

doSomething();

alert("Alert! Alert!");

doSomethingAfterTheAlertIsCleared();

}

变为:

function foo() {

doSomething();

fakeAlert("Alert! Alert!", doSomethingAfterTheAlertIsCleared);

}

(注意,doSomethingAfterTheAlertIsCleared之后没有() – 我们指的是函数对象,不调用函数; fakeAlert会调用它。)

如果你不确定fakeAlert如何调用回调,它将在用户“关闭”警报div的事件处理程序内,你只需调用回调的参数,就像对任何其他引用功能。所以如果fakeAlert接收它作为回调,你通过调用callback();.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值