
Как быстро начать работу с VUE3.0: Начало обучения
Рекомендации по теме:
руководства по JavaScriptСобытия на странице
Мысли: В каком порядке загружаются HTML-страницы?
Ответ: Страница загружается сверху вниз в том порядке, в котором написан код.
Проблемы, которые могут возникнуть : Если для работы с элементами DOM до загрузки страницы используется JavaScript, возникнут синтаксические ошибки.

Решение . События страницы могут изменить время выполнения кода JavaScript.

События фокуса
В веб-разработке события фокуса в основном используются для функций проверки формы и являются одними из наиболее часто используемых событий.
Например, изменение стиля текстового поля, когда текстовое поле получает фокус, проверка данных, введенных в текстовое поле, когда текстовое поле теряет фокус и т. д.

Чтобы каждый мог лучше понять, как использовать события фокуса, ниже приведена демонстрация, позволяющая проверить, пусты ли имя пользователя и пароль.

Реализация кода
<!DOCTYPE html>
<голова>
<мета-кодировка="UTF-8">
<title>Убедитесь, что имя пользователя и пароль пусты</title>
<стиль>
тело {фон: #ddd;}
.box{background:#fff;padding:20px 30px;width:400px;margin: 0 auto;text-align:center;}
.btn{ширина:180 пикселей;высота:40 пикселей;фон:#3388ff;граница:1px сплошной #fff;цвет:#fff;размер шрифта:14px;}
.ipt{ширина:260px;padding:4px 2px;}
.tips{ширина:440 пикселей;высота:30 пикселей;поля:5 пикселей авто;фон:#fff;цвет:красный;граница:1px сплошной #ccc;дисплей:нет;line-height:30px;padding-left:20px;font- размер: 13 пикселей;}
</стиль>
</голова>
<тело>
<p id="tips" class="tips"></p>
<p класс="коробка">
<p><label>Имя пользователя: <input id="user" class="ipt" type="text"></label></p>
<p><label>Пароль: <input id="pass" class="ipt" type="password"></label></p>
<p><button id="login" class="btn">Войти</button></p>
</p>
<скрипт>
window.onload = функция() {
addBlur($('user')); // Проверяем, является ли значение пустым после того, как элемент с идентификатором пользователя теряет фокус. addBlur($('pass')); идентификатор прохода теряет фокус. Является ли значение пустым};
function $(obj) { // Получаем указанный элемент по идентификатору return document.getElementById(obj);
}
function addBlur(obj) { // Добавляем событие потери фокуса для указанного элемента obj.onblur = function() {
isEmpty (это);
};
}
function isEmpty(obj) { // Проверяем, пуста ли форма if (obj.value === '') {
$('tips').style.display = 'блок';
$('tips').innerHTML = 'Примечание: входное содержимое не может быть пустым';
} еще {
$('советы').style.display = 'нет';
}
}
</скрипт>
</тело>
</html> События мыши
События мыши — наиболее часто используемые события в веб-разработке.
Например, переключение содержимого, отображаемого на панели вкладок, при наведении указателя мыши на перетаскивание поля состояния для регулировки положения его отображения и т. д. Все эти общие эффекты веб-страниц используют события мыши.

При разработке проектов часто задействуются некоторые часто используемые атрибуты мыши, которые используются для получения информации о текущем положении мыши.


Атрибуты pageX и pageY несовместимы с браузерами IE6–8. Поэтому при разработке проекта требуется совместимость с браузерами IE6~8.

Координаты мыши в документе равны координатам мыши в текущем окне плюс длина текста, прокручиваемого полосой прокрутки.
Чтобы каждый мог лучше понять использование событий мыши, давайте в качестве примера возьмем круговое отображение положения щелчка мыши.

Реализация кода
<!DOCTYPE html>
<голова>
<мета-кодировка="UTF-8">
<title>Показать положение щелчка мыши</title>
<стиль>
.mouse{position:absolute;background:#ffd965;ширина:40px;высота:40px;border-radius:20px;}
</стиль>
</голова>
<тело>
<p id="mouse" class="mouse"></p>
<скрипт>
вар мышь = document.getElementById('мышь');
//Требование: когда мышь щелкнет по странице, получите позицию щелчка и отобразите маленькую точку document.onclick = function(event) {
// Получаем совместимую обработку объекта события var event = event || window.event;
// Положение мыши на странице var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft;
вар pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
// Вычисляем позицию, в которой должен отображаться <p> var targetX = pageX - mouse.offsetWidth / 2;
var targetY = pageY - mouse.offsetHeight/2;
// Отображение <p> в месте, по которому щелкнули мышью
mouse.style.display = 'блок';
mouse.style.left = targetX + 'px';
mouse.style.top = targetY + 'px';
};
</скрипт>
</тело>
</html> [Дело] Эффекты перетаскивания мышью

Положение поля (левое и верхнее значения) = положение мыши (левое и верхнее значения) — расстояние между мышью и полем (левое и верхнее значения) при нажатии мыши.
Приведите пример

Идеи реализации кода :
① Напишите HTML и спроектируйте всплывающие окна для реализации эффектов перетаскивания.
② Добавьте событие mousedown и его обработчик на панель перетаскивания.
③ Обработка событий движения мыши для достижения эффектов перетаскивания мышью.
④ Обработайте событие отпускания кнопки мыши, чтобы всплывающее окно больше не перемещалось после отпускания кнопки мыши.
Реализация кода
<!DOCTYPE html>
<html>
<голова>
<мета-кодировка="UTF-8">
<title>Перетаскивание мышью</title>
<стиль>
тело{маржа:0}
.box{width:400px;height:300px;border:5px Solid #eee;box-shadow:2px 2px 2px 2px #666;position:absolute;top:30%;left:30%}
.hd{ширина:100%;высота:25 пикселей;цвет фона:#7c9299;border-bottom:1px сплошной #369;line-height:25px;цвет:#fff;курсор:переместить}
#box_close{float:right;курсор:указатель}
</стиль>
</голова>
<тело>
<p id="box" class="box">
<p id="drop" class="hd">
Регистрационная информация (можно перетаскивать)
<span id="box_close">【Закрыть】</span>
</p>
<p class="bd"></p>
</p>
<скрипт>
// Получаем перетаскиваемый блок и перетаскиваем полосу var box = document.getElementById('box');
var drop = document.getElementById('drop');
drop.onmousedown = function(event) { // Нажмите мышью на полосу перетаскивания, чтобы перетащить поле var event = event || window.event;
// Получаем позицию при нажатии мыши var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft;
вар pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
// Вычисляем позицию щелчка мыши в поле var spaceX = pageX - box.offsetLeft;
вар spaceY = pageY - box.offsetTop;
document.onmousemove = function(event) { // Получаем позицию мыши при ее перемещении. Весь блок следует за позицией мыши var event = event || window.event;
// Получаем позицию мыши после перемещения var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft;
вар pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
// Вычисляем и устанавливаем положение поля после перемещения box.style.left = pageX - spaceX + 'px';
box.style.top = pageY - spaceY + 'px';
};
};
document.onmouseup = function() {//Отменить перемещение поля при отпускании кнопки мыши document.onmousemove = null;
};
</скрипт>
</тело>
</html> События клавиатуры
События клавиатуры — это события, которые срабатывают, когда пользователь использует клавиатуру.
Например, пользователь нажимает клавишу Esc, чтобы закрыть открытую строку состояния, и нажимает клавишу Enter, чтобы напрямую переключать курсор вверх и вниз и т. д.

Ниже показано использование переключения клавиши Enter. Детали такие, как показано в примере.

Реализация кода
<!DOCTYPE html>
<голова>
<мета-кодировка="UTF-8">
<title>Нажмите Enter, чтобы переключиться</title>
</голова>
<тело>
<p>Имя пользователя: <input type="text"></p>
<p>Электронная почта: <input type="text"></p>
<p>Номер мобильного телефона: <input type="text"></p>
<p>Личное описание: <input type="text"></p>
<скрипт>
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
inputs[i].onkeydown = function(e) {
// Получаем совместимую обработку объекта события var e = event || window.event;
// Определяем, является ли нажатая клавиша Enter. Если да, то фокус будет передан следующему вводу if (e.keyCode === 13) {
// Проходим все поля ввода и находим индекс текущего ввода for (var i = 0; i < inputs.length; ++i) {
if (inputs[i] === это) {
// Вычисляем индекс следующего входного элемента var index = i + 1 >= inputs.length 0 : i + 1;
перерыв;
}
}
// Если следующий ввод по-прежнему является текстовым полем, получаем фокус клавиатуры if (inputs[index].type === 'text') {
inputs[index].focus(); // Событие фокуса триггера }
}
};
}
</скрипт>
</тело>
</html> Примечание
Значение ключа, сохраненное событием нажатия клавиши, представляет собой код ASCII, а
значение ключа, сохраненное событиями нажатия клавиши и нажатия клавиши, представляет собой код виртуальной клавиши.
Для получения подробной информации обратитесь к таким руководствам, как MDN.
События формы.
События формы относятся к событиям, которые происходят при работе с веб-формами.
Например, проверка формы перед отправкой, операция подтверждения при сбросе формы и т. д. JavaScript предоставляет связанные события формы.

Ниже в качестве примера показано, следует ли отправлять и сбрасывать данные формы. Детали такие, как показано в примере.

Реализация кода
<!DOCTYPE html>
<голова>
<мета-кодировка="UTF-8">
<title>События формы</title>
</голова>
<тело>
<форма id="регистрация">
<label>Имя пользователя: <input id="user" type="text"></label>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</форма>
<скрипт>
// Получаем объекты формы и элемента, которые необходимо проверить var regist = document.getElementById('register');
вар пользователь = document.getElementById('пользователь');
regist.onsubmit = function(event) { // Добавляем событие отправки в форму // Получаем объект события и выводим текущий тип события var event = event || window.event;
console.log(event.type);
// Определяем, пусто ли содержимое элемента формы. Если оно пусто, возвращаем false, в противном случае возвращаем true.
вернуть user.value ? правда: ложь;
};
regist.onreset = function (event) { // Добавляем событие сброса в форму // Получаем объект события и выводим текущий тип события var event = event window.event;
console.log(event.type);
// Определить, следует ли подтверждать сброс, нажмите «ОК», чтобы вернуть true, нажмите «Отмена», чтобы вернуть false
return submit('Пожалуйста, подтвердите, хотите ли вы сбросить информацию. После сброса все содержимое формы будет удалено');
};
</скрипт>
</тело>
</html> Практический
анализэффектов увеличения изображения
: Как реализовать эффекты увеличения изображения:
подготовьте два одинаковых изображения: маленькое и большое.
Миниатюра отображается в области дисплея товара.
Большое изображение используется для пропорционального отображения соответствующей области на большом изображении при наведении указателя мыши на маленькое изображение.
Идеи реализации кода :
① Напишите HTML-страницу для отображения маленьких картинок, масок, скрывающих мышь, и больших картинок.
② Когда мышь перемещается по маленькому изображению, отображаются маска мыши и большое изображение.
③ При движении мыши позвольте маске перемещаться на маленьком изображении.
④ Ограничьте диапазон перемещения маски на маленьком изображении.
⑤ Отображение большого изображения пропорционально покрытию маски на маленьком изображении.
Рекомендации по теме: Учебное пособие по JavaScript.
Выше приведен подробный анализ пяти основных событий, связанных с JavaScript. Для получения дополнительной информации обратите внимание на другие соответствующие статьи на китайском веб-сайте PHP!
