2014-09-01 48 views
0

我有一個窗體,動態創建音頻預覽元素。我想在瀏覽器處理音頻元素後執行代碼。以下作品:無法綁定事件處理程序在初始化

工作,如果音頻元素已創建

$('audio').on('loadeddata', -> 
    alert "test audio" 
) 

後執行,但如果我綁定事件的元素被創建後它纔會起作用。我正在尋找一種方法將事件綁定到文檔載入中的所有未來的「音頻」標籤。以下不工作:

永遠不會奏效

$(document).on('loadeddata', 'audio', -> 
    alert "test audio" 
) 

下始終工作

$(document).on('click', 'audio', -> 
    alert "test audio" 
) 

我的目標是能夠綁定these events一次當我的文件被加載。任何幫助或見解將不勝感激。

編輯

因爲我使用與turbolinks鋼軌我執行既準備和的onload事件上面的片斷。因此,代碼爲:

reload = -> 
    #relevant code here 

$(document).on 'page:load', reload 

$ -> reload() 
+0

代替'$(文件)。就緒這些事件()'嘗試綁定'window.onload'內的代碼。 – Bongs 2014-09-01 16:53:45

+0

謝謝@Bongs,我實際上已經在做兩個。查看編輯 – laertiades 2014-09-01 18:45:21

回答

0

啓動事件處理文檔完全加載後:

$(document).ready(function(){ 
    $(document).on('loadeddata', 'audio', function(){ 
     alert "test audio" 

    }); 
}); 
+0

我已經這麼做了,謝謝 – laertiades 2014-09-01 14:44:21

0

嘗試結合內部

$(document).ready(function(){ 
     // bind your events here 
}); 
+0

我已經這麼做了,謝謝 – laertiades 2014-09-01 14:44:43

相關問題