Как вы используете шаблон модуля раскрытия с документом jQuery.ready?
У меня есть следующий (хотя и небольшой) небольшой код реализации "модуля раскрытия":
(function (CkSpace, $, undefined) {
CkSpace.GetLoanValues = function () {
var url = "/Home/UpdateAPR";
$.get(url, { Amount: $("#slider").slider("value"), Length: $("#slider2").slider("value") }, function (data) {
$("#LoanAmount").html("£"+data.LoanAdvance);
$("#TotalToRepay").html("£" + data.LoanGrossRepayable);
$("#Representative").html(data.LoanAPR);
$("#MonthlyRepayTerm").html(data.LoanTerm);
$("#MonthlyFee").html("£" + data.LoanInstalment);
});
}
} (window.CkSpace = window.CkSpace || {}, jQuery));
У меня сложилось впечатление, что с помощью window.CkSpace
Я мог бы получить доступ к CkSpace глобально в качестве корневого пространства имен для любого из его открытых членов. Тем не менее, когда я использовал это в сочетании с $(document).ready()
Я не смог получить доступ к своему CkSpace
пространство имен, если я не объявил это в $(document).ready()
,
Может ли кто-нибудь объяснить мне вопрос об области охвата здесь, и если так или иначе, чтобы избежать объявить это в моем $(document).ready()
функционировать?
РЕДАКТИРОВАТЬ: я был немного забывчивым, кажется, и я не ставил префикс CkSpace с окном при доступе к нему в рамках$(document).ready()
1 ответ
Бен,
Если я понял вашу проблему, этот фрагмент кода может вам помочь.
window.CkSpace = {};
(function (CkSpace) {
CkSpace.getLoanValues = function () {
alert('I provide loans');
}
} (window.CkSpace || {}, jQuery));
window.CkSpace.getLoanValues();
Скрипка: http://jsfiddle.net/GDcVt/
Если нет, пожалуйста, сделайте его более минимальным, поскольку внутренний код не имеет отношения к области видимости. Я не уверен, существует ли объект в области видимости окна, прежде чем передать его функции.