Пишу нижеследующий код. При загрузке страницы в консоль попадает 111
.
Но если я в консоле пишу test(222);
, то test is not defined
.
$(document).ready(function() {
test(111);
function test(number) {
console.log(number)
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div onclick="test(111)">Start</div>
Код в консоли браузера выполняется в глобальной области видимости. Функция test
- локальная, видна только внутри анонимного обработчика события ready
и в глобальной области видимости недоступна.
как сделать глобальной
function test(number) {
console.log(number)
}
$(document).ready(function() {
test(111);
});
test(222);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div onclick="test(333)">Start</div>
или
$(document).ready(function() {
window.test = function(number) {
console.log(number)
}
test(111);
});
setTimeout(function(){test(222);}, 200);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div onclick="test(333)">Start</div>
Вы можете оставить ваши функции спрятанными внутри анонимной функции, но тогда назначать их в качестве обработчиков событий надо в коде, а не в атрибутах html.
$(document).ready(function() {
function test(number) {
console.log(number)
}
test(111);
$(".clickable").click(function(){
test($(this).data("value"));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clickable" data-value="333">Start</div>
<div class="clickable" data-value="444">Finish</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Может быть кто-нибудь сталкивался с такой ошибкой в Nodejs:
Метод push - ничего не делает для объекта, потому по умолчанию у объектов нет такого метода
Пользователь загружает на сервер два файлаПервый- текстовый файл, второе-изображение
Допустим есть два Input (Дата добавления и дата удаления) если была заполнена только Дата добавления то стоит картинка виде галочки, а если еще...