我正在尝试在单击链接时停止默认操作。然后我要求确认,如果确认我想继续活动。我该怎么做呢?我可以停止活动,但无法启动它。这是我到目前为止所做的:
$(document).ready(function(){
$(".del").click(function(event) {
event.preventDefault();
if (confirm('Are you sure to delete this?')) {
if (event.isDefaultPrevented()) {
//let the event fire. how?
}
}
});
});
答案 0 :(得分:4)
无需阻止默认启动。就这样做:
$(function() {
$(".del").click(function(evt) {
if (!confirm("Are you sure you want to delete this?")) {
evt.preventDefault();
}
});
});
一旦您需要而不是阻止它,然后取消阻止它(如果可能的话),则更容易也更合理地阻止事件。
请记住,在向用户显示确认框之前,代码将停止运行,直到用户选择“确定”或“取消”。
顺便说一句,看看JavaScript: event.preventDefault() vs return false。根据您是否要停止事件传播,您可能需要致电stopPropagation()
或return false
:
$(function() {
$(".del").click(function(evt) {
if (!confirm("Are you sure you want to delete this?")) {
return false;
}
});
});
答案 1 :(得分:2)
更好地返回confirm()
$(function() {
$(".del").click(function() {
return confirm("Are you sure you want to delete this?");
});
});