单击取消确认框不会取消操作

时间:2015-01-28 16:09:45

标签: javascript object confirm

var Main = {
    addConfirmations: function() {
        var e = document.querySelectorAll(".bg-red");
        for (var t = 0; t < e.length; t++) {
            e[t].addEventListener("click", function() {
                var e = this.getAttribute("title");
                Main.confirmation(e)
            })
        }
    },
    confirmation: function(e) {
        if (e === null || e.toString().length === 0) {
            e = "Are you sure you want to proceed?"
        }
        return window.confirm(e);
    }
}
window.onload = Main.addConfirmations

HTML:

<input type="submit" class="bg-red" value="Delete">

嗨,我有我在网站上使用的上述功能,因此它为每个具有红色背景的按钮添加了一个确认框。现在这似乎有效,只要我点击就会弹出一个确认框一个红色按钮,但是,如果我在确认框上单击取消它不会取消操作..这已经让我烦恼了几个小时..我已经尝试了很多调试但是我不能似乎找到了它。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

你从确认方法返回,但是你在调用它时没有做任何事情。

&#13;
&#13;
var Main = {
    addConfirmations: function() {
        var e = document.querySelectorAll(".bg-red");
        for (var t = 0; t < e.length; t++) {
            e[t].addEventListener("click", function (event) {
                var title = this.getAttribute("title");
                var check = Main.confirmation(title);
                if(!check) {
                    event.preventDefault ? event.preventDefault() : event.returnValue = false;          
                }
            }, true);
        }
    },
    confirmation: function (message) {
        if (!message || !message.length) {
            message = "Are you sure you want to proceed?"
        }
        return window.confirm(message);
    }
}
window.onload = Main.addConfirmations
&#13;
<a href="http://www.example.com" class="bg-red">asdf</a>
&#13;
&#13;
&#13;