0
我有一個使用jQuery和本地JS一起使用的網站的問題。使用jQuery檢測本地AJAX添加的元素是否存在,並創建一個循環
我想添加到使用本機AJAX添加到頁面的輸入的jQuery UI日期選擇器。我的問題是,在AJAX將div添加到頁面之前,jQuery正在運行。
我可以使用下面的代碼很容易地解決這個問題,但我不想讓jQuery經常檢查頁面上現有的元素,而這些元素永遠不會存在。我擔心這會消耗大量的內存?如果setTimeout函數正在無休止地檢查元素的存在性,它是否會消耗內存?
任何建議或解決方案將是太棒了。
乾杯
(function() {
window.main = window.main || {};
/*
* Initialisation function
*/
main.init = function() {
main.datePicker();
},
/*
* Datepicker function
*/
main.datePicker = function() {
// If the input is visible/has loaded do the datepicker function
var datePickerInput = $('.datepicker');
if(datePickerInput.is(':visible')) {
datePickerInput.datepicker({
minDate : 0,
dateFormat : "dd/mm/yy",
showOn : "button",
buttonImage : "images/jquery-ui/calendar.gif",
buttonImageOnly : true,
buttonText : "Select date"
});
// otherwise recall the function
} else {
setTimeout(function() { main.datePicker(); }, 2000);
}
}
})();
// Initialise
$(document).ready(function() {
main.init();
});
_website其中使用jQuery和本機JS together_是jQuery能夠工作沒有本機JS? :) – smnbbrv
不,它不是。我的意思是很多本機JS代碼和jQuery代碼一起工作。執行不同的工作等 – Jonathan
你試過了,將main.init()調用添加到ajax成功事件? – errand