900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > html关闭当前页面前alert javascript – 停止页面执行 像alert()函数

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

时间:2024-01-15 07:27:24

相关推荐

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();.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。