2010-01-25 89 views
5

我試圖停止單擊鏈接時的默認操作。然後我要求確認,如果確認,我想繼續舉辦活動。我該怎麼做呢?我可以停止該事件,但無法啓動它。這是我到目前爲止:如何停止並使用JQuery啓動/觸發事件?

$(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

只是在做這個自己,並發現這題。我解決了這個問題,把'return true'放在我的函數:) – 2010-08-09 10:25:16

回答

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; 
    } 
    }); 
}); 
+0

不應該是如果(!確認.....? – Michel 2010-01-25 08:36:42

+0

@Michel:是的,它應該。 – cletus 2010-01-25 08:37:17

2

好多隻返回confirm()

$(function() { 
    $(".del").click(function() { 
    return confirm("Are you sure you want to delete this?"); 
    }); 
}); 
相關問題