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">
嗨,我有我在网站上使用的上述功能,因此它为每个具有红色背景的按钮添加了一个确认框。现在这似乎有效,只要我点击就会弹出一个确认框一个红色按钮,但是,如果我在确认框上单击取消它不会取消操作..这已经让我烦恼了几个小时..我已经尝试了很多调试但是我不能似乎找到了它。有人可以帮忙吗?
答案 0 :(得分:0)
你从确认方法返回,但是你在调用它时没有做任何事情。
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;