2012-08-13 64 views
1

我試圖擴展Twitter Bootstrap的模態插件。 當模式彈出窗口被顯示和隱藏時,是否有一種乾淨的方式來觸發一個動作。擴展Twitter Bootstrap的模態插件

$("#xyz").clone().modal({"backdrop": "static", "keyboard":true, "show":true}); 
$("#xyz").on("shown", function(e){ console.log("hi");}); 

試過以上,但什麼也沒做。

我不想在我的代碼中爲所有模態調用指定上述函數。 我真正想要的是爲所有顯示或隱藏的模態創建一個通用函數。

謝謝!

回答

2

您的代碼不起作用,因爲您將事件處理程序附加到$('#xyz'),但您正在創建一個來自$('#xyz').clone()的模式,它是一個單獨的對象。

嘗試:

$("#xyz").on("shown", function(e){ console.log("hi");}); 
$("#xyz").clone(true).modal({"backdrop": "static", "keyboard":true, "show":true}); 

請先將事件處理程序,然後克隆它,並確保通過true作爲參數,以便連接到$('#xyz')所有事件處理程序和數據都傳遞給克隆的對象。

+0

太棒了!很棒!非常感謝!是的,也意識到,只需要克隆(真)而不是克隆(真,真) – 2012-08-13 20:53:06

+0

是的,我也注意到,並相應地更新了答案。 – jackwanders 2012-08-13 20:55:33