Есть кусок кода из учебника:
$(document).ready(function() {
$("#open").click(function(evt) {
evt.preventDefault();
});
});
Первая строка дает команду ждать загрузки всего html документа. Но разве .ready по умолчанию не делает это сама? И второй вопрос. У события click есть функция evt. Могу ли я не использовать ее, а просто сделать анонимную функцию?:
$("#open").click(function() {
preventDefault();
});
Не пинайте за глупые вопросы, я только учусь
Тут
$("#open").click(function(evt) {
evt не функция, как вы пишите, а объект, содержащий данные о произошедшем событии. И в дальнейшем этот объект нужен, чтобы применить к нему метод preventDefault() тут
evt.preventDefault();
event.preventDefault() Отменяет выполнение события. Например, при "клике" по ссылке, переход по ней не произойдет, если внутри обработчика будет вызван этот метод.
preventDefault() не может быть вызван без привязки к объекту события.
Функция $.ready дожидается построения DOM дерева, происходит это после полной загрузки HTML страницы, но до полной её загрузки. Когда это дерево элементов построено, вызывается переданная в качестве аргумента функция. В ней вы производите поиск элемента с id=open, к этому моменту элемент (тег) должен существовать. Поэтому есть пара вариантов: дожидаться полного построения дерева как в первом кусочке кода, либо поместить второй кусочек кода после создания обозначенного элемента, например, прямо перед закрывающим тегом </body>.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости