[英]How to tell JavaScript to execute a function after an element has been loaded?
[英]How to execute a function in javascript after an html element is loaded via AJAX without jQuery?
通過AJAX加載頁面的一部分后,我需要執行給定的javascript函數。 我無法控制頁面的加載方式,因此無法觸發頁面中的事件,我想我需要檢查主體以查找所需的元素,然后在該元素存在后執行。
我看到可以使用jQuery“ .on”方法執行此操作,但是我的jQuery版本是在引入此功能之前的版本,因此我無法使用它。 不使用第三方庫執行此操作的最佳方法是什么?
這是使用jQuery的示例:
//bind to the body a "load" handler for elements that have class names of "hello"
$('body').on('load','.hello',function(){
alert("Hello is fully loaded, proceed with your program logic");
})
PS:發布此問題之前,我已經閱讀了相關問題。 如何將函數綁定到通過Ajax加載的Element
您可以創建一個函數,以在元素加載時調用,還可以創建另一個函數以檢查是否以一定間隔加載元素。 然后將負載檢查功能附加到主體的onload
屬性。 例如:
<body onload="checkLoaded()">
<script type="text/javascript">
var afterLoaded = function() {
// code to execute once elements are in place
console.log("Elements loaded.");
};
var checkLoaded = function() {
var interval = setInterval(function() {
if(document.getElementsByClassName("hello").length) {
clearInterval(interval);
afterLoaded();
}
}, 1000);
};
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.