2014-10-04 53 views
0

每次按下按鈕時,都會有一個隨機提醒窗口彈出窗口。警告彈出窗口是我使用的而不是JavaScript Alert,只是爲了獲得更好的設計。將事件分配給外部庫中的按鈕

Alertify library

這裏是當前形勢的截圖:

enter image description here

我想將事件分配給OK按鈕。當我在谷歌瀏覽器中使用「檢查元素」功能時,我看到這個綠色的確定按鈕有一個名爲「alertify-ok」的標識,所以我想在按下此按鈕時分配一個事件。

我一直在努力,這部分在腳本部件添加到我的HTML文檔:

$("#alertify-ok").on("click",function() {alert("finally");}); 

但沒有任何反應。之所以我需要這個工作,是因爲我按了OK按鈕後,youtube的popupmodal應該會出現。我相信這個錯誤是因爲HTML的alertify窗口來自外部庫,所以我該怎麼做?

+0

你應該能夠訪問按鈕元素,即使它來自外部庫,除非它包含在「iframe」中。你可以檢查警報是否正在創建一個'iframe'? – 2014-10-04 21:42:55

+0

另外,你什麼時候註冊這個點擊事件?如果在註冊事件時該按鈕不存在,則該按鈕不起作用。 – 2014-10-04 21:44:13

+0

你需要一個文件準備的條款。 – ArtOfCode 2014-10-04 22:38:52

回答

0

警報和其他人在創建時使用回調函數,https://github.com/alertifyjs/alertify.js/blob/0.3.12/src/js/alertify.js#L608。你不需要附加另一個事件監聽器,只需要給它一個你想要它執行的函數。下面的例子:

alertify.alert("alerttext", function(e) { 
    functionIWantToCall(); 
}); 
+0

Okey,所以我可以只寫:alertify.alert(「alerttext」,functionIWantToCall())? – 2014-10-04 22:01:45

+0

是的,這是正確的 – Lbatson 2014-10-04 22:05:22

+0

對不起,實際上我一直在測試它,你需要做的就像上面的例子編輯答案 – Lbatson 2014-10-04 22:39:03

0

你可以把事件你知道一個元素已經存在(如「體」),並指定它,只有當想要的元素被點擊觸發:

$(" body").on({ 
    click: function() {... 
    } 
}, "#trigger"); 
相關問題