0
我一直試圖圍繞.on事件處理程序來替換.live和.bind處理程序,雖然我在某些情況下,它有效地使用它似乎只是不能按預期工作,尤其是當它從動態源「加載」,這意味着如果我嘗試從一個html文件運行下面的代碼片段,該文件本身通過動態加載。AJAX它靜靜地失敗
舉個例子,我通過AJAX加載的test.html到一個div和具有的test.html:
<script>
$(window).on('load', 'body', function(){
alert('test');
});
</script>
這在理論上應該成爲一個警告框時頁面上的所有元素都已加載,對嗎?實際上它什麼都不做。警報從不會觸發。同樣爲此:
<script>
$(document).on('load', 'body', function(){
alert('test');
});
</script>
從理論上講,當dom滿載時應該開火,實際上它根本不會開火。
只有當這些事件是從動態位置本身調用的時候纔會發生,但我會認爲這種情況經常發生,因此是否有工作要做,以便在動態加載時仍然可以觸發這些事件,或者我做錯了什麼。我遇到了這個問題很多,這顯然是一個負載事件的問題,就好像我要將兩個事件中的任何一個更改爲「單擊」而不是加載,然後單擊身體上的任何位置,警報將按預期啓動。所以我的主要問題是什麼與負載事件。
如果身體不在DOM中,你不能附加一個處理程序。這是'.on'代表團的一點。 – Barmar
對不起,我正在考慮預定義的HTML文檔。我將其更改爲首選和通用格式 – mikedugan
在非動態頁面上正常工作。但是將相同的代碼放在一個動態載入的頁面上,並且它會自動失敗。 – RAC