JavaScript如何模拟确认方法

Nic*_*ilt 8 javascript

我的JavaScript代码中包含以下代码.

if (window.confirm('Are you sure?')) {
    AdminData.actOnResult('delete');
}
Run Code Online (Sandbox Code Playgroud)

我正在为这段代码编写测试.我如何模拟window.confirm方法?我尝试了下面的代码,但它没有用.

window.confirm = function(arg) {
    return true;
};
Run Code Online (Sandbox Code Playgroud)

我可以将window.confirm方法移动到另一个函数,然后我可以模拟该方法.但是我想知道是否有更好的解决方案.

And*_*y E 2

你自己的代码在 IE 中对我来说工作得很好。全局范围内的以下内容应该覆盖它:

var confirm = function () { return true; }
Run Code Online (Sandbox Code Playgroud)

编辑
我过去见过一些关于尝试覆盖的问题confirm,主要是因为他们不喜欢它(谁会喜欢?)。如果您出于此类原因尝试绕过它,我建议您考虑更改代码以实现基于回调的确认替换。看一下jQuery UI 的模式确认就是一个很好的例子。