我寫了這段代碼,希望運行後document.ready()
部分的widget_controller
屬性對search_form.widget_date_range
對象將成爲控制器。令我驚訝的是,它是undefined
。這裏出了什麼問題?爲什麼不按我希望的那樣工作?
search_form.widget_date_range = (function() {
var element_selector = "div.date-range-slider";
var settings = {
bounds: {
min: new Date(2003, 0, 1),
max: new Date()
},
defaultValues: {
min: new Date(2003, 0, 1),
max: new Date()
},
wheelMode: "zoom",
};
var widget_controller = {};
var onDocumentReady = function() {
widget_controller = $(element_selector).dateRangeSlider(settings);
widget_controller.on("valuesChanged", onDataChange);
console.log(widget_controller);
};
var onDataChange = function(e, data) {
// alert("Value just changed. min: " + data.values.min + " max: " + data.values.max);
$("form#searching").trigger("submit");
};
return {
onDocumentReady: onDocumentReady,
widget_controller: widget_controller
};
})();
$(document).ready(function() {
...
search_form.widget_date_range.onDocumentReady();
});
您的onDocumentReady()函數沒有被調用?那是怎麼回事? –
在嘗試將widget_date_range屬性寫入它之前,search_form是否有值? 這可能是變量提升的標誌。你準備好的函數中的任何地方是否聲明「var search_form」? –
@Marcos。感謝馬科斯,是的,我從底部的document.ready中調用它。 –