Все,Не удается получить доступ к функциям внутри оболочки Javascript?
В моем коде отсутствует JSLint для «использования строгой» проблемы. Как предложено здесь: Disable "use the function form of use strict" but keep the "Missing 'use strict' statement" warning
Если вы завернете все функции в файле javascript с помощью другой оболочки функций, она решит эту проблему.
Однако теперь после этого все мои функции не определены, когда я вызываю их со страницы?
(function() {
"use strict";
/**
* Update the page with a message informing the user
* an email has been sent to their email address
* @param details user details (email address)
*/
function shareEmailSent(details) {
// unhide confirmation message
$('strong#emailAddress').text(details.email);
$('#confirmationMessage').removeClass('hide');
}
/**
* Handle error
*/
function showError() {
return false;
}
/**
* Makes a POST request to send the current user
* an email containing their unqiue share url
* @param emailList
*/
function sendEmail(emailList) {
var data = {};
data.formToken = $('#formToken').val();
data.emails = emailList;
$.mooAjax({
url: "/ajax/share/refer_a_friend_email.php",
type: "POST",
data: data,
dataType: "json",
error: showError,
success: function (response) {
shareEmailSent(response);
}
});
}
}());
e.g.
shareEmailSent не определен
Как я могу это исправить, но и передать вопрос JSLint, а?
Thanks
Спасибо, за помощь. Я пошел с опцией 3. Однако теперь по какой-то причине он нарушает мои функции по валидации, любая идея, почему назначение функции глобальной переменной влияет на логику? – kaleeway
Этого не должно делать, и я понятия не имею, что вы подразумеваете под словом «проверка моей функции». – Quentin