2015-04-12 80 views
1

問題我想用這個jQuery插件: http://ethaizone.github.io/Bootstrap-Confirmation/#與事件代表團

,我在加載AJAX的按鈕,這一事實引起了我的問題。我知道我需要事件代表團來解決這個問題,但很遺憾,我無法弄清楚如何正確地做到這一點。

我當前的代碼是:

 (function($) { 

     $(document).on("click", "a[data-toggle='confirmation']", function(event) { 
      $(this).confirmation() 
     }); 

    }(jQuery)); 

和HTML按鈕:

<a href='test' class='btn btn-primary' data-toggle='confirmation'>Click me</a> 

可悲的是有一些問題。如果我點擊按鈕,它會將我重定向到給定的href屬性,而不首先顯示對話框。如果我刪除了href,那麼我需要點擊兩次按鈕來調出對話框(之後,點擊同一個按鈕就可以重新啓動)。

我在做什麼錯?

+0

你不需要「需要」事件代表團。這只是解決問題的一種方法。 –

+0

啊好的。隨時讓我知道另一種方式來做到這一點,因爲它不反對atm – Michael

+0

您的處理程序分配不是問題。只是說這個代表團實際上並不需要。很多人都會說,儘管事實並非如此。 –

回答

4

以下超鏈接是瀏覽器對具有href屬性的a元素的默認操作。你需要告訴瀏覽器不要做,通過調用preventDefault

$(document).on("click", "a[data-toggle='confirmation']", function(event) { 
    event.preventDefault(); 
    $(this).confirmation() 
}); 

看來,該庫希望你提供一個data-href屬性,這是URI瀏覽到,如果用戶接受確認:

<a href='test' class='btn btn-primary' data-toggle='confirmation' data-href="/accept-url">Click me</a> 
+0

好的,這確實可以確保它不會馬上重定向到href,但即使點擊確認按鈕後它仍然不會重定向到它。 :( – Michael

+0

我已經更新了答案 - 文檔說你應該提供一個'data-href'屬性 – joews

+0

它說你可以提供它,否則它會選擇默認的href,但即使我提供它,當我移動確認按鈕時會顯示它,但是如果我點擊它,在關閉工具提示的事實旁邊沒有任何反應。 – Michael