主页中的Javascript未触发

Zak*_*aki 0 javascript asp.net jquery master-pages

我有一个javascript函数用于确认:

function confirm() {
    var answer = confirm("Are you sure you want to log out?")
    if (answer) {
        return true;
    }

    return false;
} 
Run Code Online (Sandbox Code Playgroud)

在我的链接上我调用此函数:

<div class="header">
                <a href="" class="logo"></a>
                <div class="topToolbar">
                    <span><a href="/Logout.aspx" onclick="return confirm();">Log Out</a></span>
                </div>
            </div>
Run Code Online (Sandbox Code Playgroud)

问题是它从不调用javascript函数,试图发出警报并且没有得到任何东西.

我甚至尝试用jquery bt来做同样的事情,唯一的区别是我可以在文档就绪功能上获得警报.

Dar*_*rov 6

你应该重命名你的功能.confirm保留,confirm功能:

function shouldContinue() {
    return confirm("Are you sure you want to log out?");
}
Run Code Online (Sandbox Code Playgroud)

然后:

<a href="/Logout.aspx" onclick="return shouldContinue();">Log Out</a>
Run Code Online (Sandbox Code Playgroud)

实际上更精确confirm的不是保留关键字.你可以覆盖这个confirm功能.那就是你做的.除了在这个被覆盖的函数内部,你再次调用它,从而以递归的无限循环结束.

以下是如何覆盖它的示例:

window.confirm = function(msg) {
    alert('this is the overriden confirm function');
    return true;
};
Run Code Online (Sandbox Code Playgroud)