Введение в jquery, подключение jquery
Содержание:
- Отладка JavaScript-кода
- Что такое jQuery?
- Прямые и делегированные события
- Советы по эфективному изучению JavaScript
- Подключение jQuery в HTML
- Подключение jQuery с CDN
- Некоторые особенности подключения JS-библиотеки к CMS
- Basic Library Loading
- Необходимое условие
- How to build your own jQuery
- Получение значения элемента формы
- Применение шаблона
- Особенности запуска скрипта
- Подключаем jQuery
- Свойства и методы объекта Event
Отладка JavaScript-кода
В примере ниже показан очень простой JavaScript-сценарий, добавленный в новый тег <script> на предыдущей странице:
В этом коде мы не использовали возможностей библиотеки jQuery, а написали скрипты на чистом JavaScript (сравните объем этого кода с примером чуть ниже, где реализуется тот же функционал, но используется библиотека jQuery).
Обратите внимание, что этот простой сценарий содержит вывод вспомогательного сообщения на консоль (console.log). Консоль — это простое (но весьма полезное) средство, предоставляемое браузером и предназначенное для отображения отладочной информации, генерируемой сценарием в процессе выполнения
Вызов консоли осуществляется в разных браузерах по-разному. В Google Chrome для этого следует нажать комбинацию клавиш Ctrl + Shift + I и выбрать вкладку Console:
Как нетрудно заметить, результат, генерируемый вызовом метода console.log(), отображается в окне консоли вместе с дополнительной информацией о местонахождении источника сообщения (в данном случае это строки 34 и 42 файла test.html).
Что такое jQuery?
jQuery — это небольшая по объёму, но богатая и мобильная библиотека JavaScript, сосредоточенная на успешном взаимодействии JavaScript, HTML и CSS.
Впервые библиотека была представлена общественности её создателем, Джоном Резигом, на компьютерной конференции в Нью-Йорке в 2006 году.
За прошедшие годы библиотека претерпела множество изменений и на текущий день её содержимое полезно для выполнения широкого круга задач.
Функции jQuery
- Помощь в получении доступа и манипулирование любым элементом DOM (объектная модель документа);
- Работа с событиями;
- Осуществление различных визуальных эффектов;
- Взаимодействие с AJAX;
- Обладает огромным количеством JavaScript плагинов, предназначенных для создания элементов пользовательских интерфейсов.
Прямые и делегированные события
Большинство событий браузера поднимаются от самого «глубокого»(внутреннего, целевого) элемента в документе, где произошло событие, вверх до элемента body и элемента документа. В Internet Explorer ниже 8-ой версии, некоторые события (например change, submit) не обладают такими свойствами, но это исправлено в jQuery для создания кроссбраузерности.
Если селектор опущен или равен null, то обработчик события будет установлен на выбранные элементы и срабатывать, в случаях, когда событие возникло непосредственно на этих элементах или «поднялось» от их потомков. Это самая обычная обработка событий и ее называют непосредственной или прямой.
Когда селектор указан, обработчик события называется делегированным. Обработчик не вызывается, когда событие происходит непосредственно на делегированном элементе, но срабатывает на потомках (внутренние элементы), которые соответствуют селектору.
Обработчики событий могут быть связаны только с выбранными элементами, которые существуют на странице во время вызова . Для этого, элементам присутствующим в HTML, обработчики событий назначаются в document ready. Если на страницу вставляется новый HTML-код, то назначение обработчиков событий необходимо выполнить после вставки нового HTML-кода в страницу или необходимо использовать делегированные события, как описано ниже.
Преимущество делегирования события заключается в том, что могут обрабатываться события от элементов-потомков, которые добавляются к документу в более позднее время. Выбрав элемент, который гарантированно будет присутствовать в HTML-коде в будущем, и делегировав вложенный обработчик событий, вы можете использовать делегированные события, чтобы избежать необходимости частого назначения и удаления обработчиков событий. Этот элемент может быть элементом-контейнером или документом (если обработчик события хочет контролировать все события всплывающие в документе). Элемент документа доступен в заголовке документа перед загрузкой любого другого HTML, так что это безопасный способ назначить события не дожидаясь готовности (ready) документа.
В дополнение к способности обрабатывать события от еще не созданных элементов-потомков, другим преимуществом делегированных событий является экономия нагрузки, когда должно контролироваться множество элементов. В таблице с 1000 строк в , в примере присоединяется обработчик к каждому из этих 1000 элементах:
$( "#dataTable tbody tr" ).on( "click", function() { console.log( $( this ).text() ); });
В делегированных событиях обработчик присоединяется только к элементу и событию необходимо подняться только на один уровень вверх (от к ):
$( "#dataTable tbody" ).on( "click", "tr", function() { console.log( $( this ).text() ); });
Внимание! Делегирование событий не работает для SVG. Еще немного про делегирование в jQuery можно почитать в статье Обработка динамически добавленных в DOM элементов
Еще немного про делегирование в jQuery можно почитать в статье Обработка динамически добавленных в DOM элементов.
Советы по эфективному изучению JavaScript
Изучение JavaScript, как и других языков программирования – непростое дело, но оно безусловно стоит потраченных сил и времени. Обучение эффективно, когда дается не просто так, а с усилием. Вы должны прилагать сознательные усилия для того, чтобы усваивать новые навыки и умения. Знания, полученные без усилий, подобны кругам на воде – очень скоро от них не останется и следа.
Электронные книги, бесплатные онлайн-курсы и интернет-платформы для обучения с помощью задач – выбор вариантов источников качественных знаний сегодня почти безграничен. Но как мотивировать себя к самостоятельному обучению, как научиться учиться самостоятельно?
Попробуйте следовать нескольким простым, но проверенным на практике советам.
Учиться нужно понемногу, но регулярно. Регулярность – залог успеха в обучении. Спланируйте свои будни так, чтобы вы могли каждый день уделять на изучение JavaScript не менее одного часа. Не пытайтесь за короткий промежуток времени выучить всё и сразу. Разбивка процесса самообразования на небольшие учебные сессии создает ощущение быстрых успехов и мотивирует вернуться к обучению уже на следующий день.
Наихудшее время для обучения – когда вы чувствуете усталость. В такие моменты, главное не заставлять себя – вы не получите ожидаемого результата. Человеческий мозг не может учить что-то бесконечно долго – ему нужно давать перерывы. Занимайтесь по принципу 25\5. Попробуйте на себе практику учить 25 минут и отдыхать 5 минут. Ваш мозг привыкнет к таким равномерным нагрузкам и будет работать максимально продуктивно.
Применяйте практики вспоминания – основу обучения. Чем чаще мы вспоминаем информацию, тем дольше она будет храниться в нашей памяти.
Эффективная техника вспоминания – это отложенное вспоминание: на карточке с одной стороны напишите вопрос, который относится к изученному материалу, а с другой – ответ на него. Выучите содержание карточки, а затем, через день, попытайтесь вспомнить ответ. Если вы дали правильный ответ – карточку можно отложить на неделю до следующего повторения. Если ошиблись – необходимо повторить вопрос уже на следующий день. Чем длиннее у вас будет цепочка успешных оветов, тем больший интервал должен быть перед следующим повторением.
Параллельно с теоретическими занятиями постоянно практикуйтесь. Для приобретения практического опыта достаточно просто много писать и разбирать примеры хорошего кода. Работая с примерами внимательно пройдите по всем строчкам кода – вы должны убедиться, что понимаете, как работает каждая строчка. Не бойтесь экспериментировать. Учитесь выводить в окне браузера какие-то данные и анализировать их. Например, что и после чего выводится на экран, получили ли вы то, что хотели, и если нет – то почему.
Какой бы способ обучения вы не выбрали, не забывайте, что он должен быть интересным для вас и подкрепляться практическими занятиями – примеры лучше тысячи слов. Примеры часто легче понять, чем многостраничную теорию. Поэтому будьте смелее! Надеюсь, что этот учебник станет хорошим подспорьем в ваших начинаниях.
← предыдущая
следующая →
Подключение jQuery в HTML
Подключиться можно прямо с официального сайта jQuery. Для этого, перед закрывающим тегом head необходимо разместить такую строку:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
Чтобы в дальнейшем подключать актуальную версию jQuery, просто снова заходим на их офсайт и копируем адрес ссылки, как на скриншоте ниже. Далее, меняем ссылку в скрипте не актуальную.
Кроме того, можно включить в работу jQuery с CDN Google. Вместо вышеприведённой строчки внести запись:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Подключение jQuery с CDN
Подключение jQuery размещенного на CDN похоже на локальное, за исключением того, что файл библиотеки будет не на вашем сервере, а на удаленном. Помимо этой детали, вы просто добавляете jQuery в вашу страницу, как и любой другой внешний файл JavaScript.
Одно большое преимущество использования размещенного jQuery от Google: многие пользователи уже загрузили jQuery из Google CDN при посещении другого веб-сайта. В результате он будет загружен из кэша при посещении вашего сайта, что приводит к ускорению загрузки. Кроме того, Google CDN будет следить за тем, чтобы после того, как пользователь запросил у него файл, он был отправлен с ближайшего к ним сервера, что также приводит к ускорению загрузки.
Наиболее популярные CDN — это Google CDN и jQuery CDN. Мы рассмотрим подключение с Google CDN, но подключение с других серверов аналогично и можете выбрать любой понравившийся вариант.
Google CDN
2. Разместите полученный код между тегами и :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
Должно получится примерно следующее:
<!doctype html> <html> <head> <title>jQuery</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </head> <body> <h1>Подключение jQuery</h1> </body> </html>
Некоторые особенности подключения JS-библиотеки к CMS
Ни для кого не секрет, что сегодня многие пользуются известными движками для сайтостроения. Среди таких CMS особенно выделяются WordPress и Joomla!. Поэтому текущую главу я посвящу объяснению некоторых особенностей работы jQuery в этих системах.
Как я говорил выше, подключение библиотеки с хранилища Google обладает весомыми преимуществами. Именно поэтому можно сделать некий «финт ушами» и вписать вот такой код в скрипт для WordPress:
1 2 3 4 5 |
if(!is_admin()){ wp_deregister_script('jquery'); /*функция движка, которая удаляет зарегистрированный ранее скрипт*/ wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"), false, '1.3.2'); /*производится регистрация */ wp_enqueue_script('jquery'); /*подключение скрипта на веб-странице*/ } |
Что касается Joomla!, то в зависимости от версий ситуация с загрузкой описываемого инструмента несколько отличается. Так, в версии Joomla 2.5 необходимо или подключать соответствующий плагин (что предпочтительнее), или после строки
вставлять
Начиная с Joomla 3 JS-библиотека используется движком по умолчанию. Поэтому вам остается только вызвать ее при необходимости.
Ну вот теперь вы знаете основные способы подключения JavaScript-библиотеки к проектам. В силу своей кроссплатформенности она позволяет практически идентично отображать веб-приложения в любой ОС, в том числе и в малоизвестных (например, Ubuntu).
Хочу отметить, что подгружать можно также и различные плагины как, например, File Upload. Он доступен как в Bootstrap-е, так и в jQuery UI.
На этом, пожалуй, и закончу. Делитесь с друзьями новыми знаниями и ссылками на мои статьи. А я с нетерпением жду ваших заявок на подписку. Пока-пока!
Прочитано: 77 раз
Basic Library Loading
With few exceptions, all web pages with Google Charts should include
the following lines in the of the web page:
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: }); google.charts.setOnLoadCallback(drawChart); ... </script>
The first line of this example loads the loader itself.
You can only load the loader one time no matter how many charts you plan to draw.
After loading the loader, you can call the function one
or more times to load packages for particular chart types.
The first argument to is the version name or number,
as a string. If you specify , this causes the latest official release
of Google Charts to be loaded. If you want to try the candidate for the next
release, use instead. In general there will be
very little difference between the two, and they’ll be completely
identical except when a new release is underway. A common reason to
use is that you want to test a new chart type or
feature that Google is about to release in the next month or two. (We
announce upcoming releases on
our forum
and recommend that you try them out when announced, to be sure that
any changes to your charts are acceptable.)
The example above assumes you want to display a
(bar, column, line, area, stepped area, bubble, pie, donut, combo,
candlestick, histogram, scatter). If you want a different or
additional chart type, substitute or add the appropriate package name
for above (e.g., . You can find the package name in the
‘Loading’ section of the documentation page for each chart.
This example also assumes that you have a JavaScript function
named defined somewhere in your web page. You can name
that function whatever you like, but be sure it is globally unique and
that it is defined before you reference it in your call to
.
Note: Previous versions of Google Charts used code that
differs from the above to load the libraries. To update your existing charts to
use the new code, see .
Here is a complete
example of drawing a pie chart using the basic loading technique:
<head> <script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: }); google.charts.setOnLoadCallback(drawChart); function drawChart() { // Define the chart to be drawn. var data = new google.visualization.DataTable(); data.addColumn('string', 'Element'); data.addColumn('number', 'Percentage'); data.addRows(, , ]); // Instantiate and draw the chart. var chart = new google.visualization.PieChart(document.getElementById('myPieChart')); chart.draw(data, null); } </script> </head> <body> <!-- Identify where the chart should be drawn. --> <div id="myPieChart"/> </body>
Необходимое условие
How to build your own jQuery
First, clone the jQuery git repo.
Then, enter the jquery directory and run the build script:
cd jquery && npm run build
The built version of jQuery will be put in the subdirectory, along with the minified copy and associated map file.
If you want to create custom build or help with jQuery development, it would be better to install grunt command line interface as a global package:
Make sure you have installed by testing:
Now by running the command, in the jquery directory, you can build a full version of jQuery, just like with an command:
There are many other tasks available for jQuery Core:
Modules
Special builds can be created that exclude subsets of jQuery functionality.
This allows for smaller custom builds when the builder is certain that those parts of jQuery are not being used.
For example, an app that only used JSONP for and did not need to calculate offsets or positions of elements could exclude the offset and ajax/xhr modules.
Any module may be excluded except for , and . To exclude a module, pass its path relative to the folder (without the extension).
Some example modules that can be excluded are:
- ajax: All AJAX functionality: , , , , , transports, and ajax event shorthands such as .
- ajax/xhr: The XMLHTTPRequest AJAX transport only.
- ajax/script: The AJAX transport only; used to retrieve scripts.
- ajax/jsonp: The JSONP AJAX transport only; depends on the ajax/script transport.
- css: The method. Also removes all modules depending on css (including effects, dimensions, and offset).
- css/showHide: Non-animated , and ; can be excluded if you use classes or explicit calls to set the property. Also removes the effects module.
- deprecated: Methods documented as deprecated but not yet removed.
- dimensions: The and methods, including and variations.
- effects: The method and its shorthands such as or .
- event: The and methods and all event functionality.
- event/trigger: The and methods.
- offset: The , , , , and methods.
- wrap: The , , , and methods.
- core/ready: Exclude the ready module if you place your scripts at the end of the body. Any ready callbacks bound with will simply be called immediately. However, will not be a function and or similar will not be triggered.
- deferred: Exclude jQuery.Deferred. This also removes jQuery.Callbacks. Note that modules that depend on jQuery.Deferred(AJAX, effects, core/ready) will not be removed and will still expect jQuery.Deferred to be there. Include your own jQuery.Deferred implementation or exclude those modules as well ().
- exports/global: Exclude the attachment of global jQuery variables ($ and jQuery) to the window.
- exports/amd: Exclude the AMD definition.
The build process shows a message for each dependent module it excludes or includes.
AMD name
As an option, you can set the module name for jQuery’s AMD definition. By default, it is set to «jquery», which plays nicely with plugins and third-party libraries, but there may be cases where you’d like to change this. Simply set the option:
grunt custom --amd="custom-name"
Or, to define anonymously, set the name to an empty string.
grunt custom --amd=""
Custom Build Examples
To create a custom build, first check out the version:
git pull; git checkout VERSION
Where VERSION is the version you want to customize. Then, make sure all Node dependencies are installed:
npm install
Create the custom build using the option, listing the modules to be excluded.
Exclude all ajax functionality:
grunt custom:-ajax
Excluding css removes modules depending on CSS: effects, offset, dimensions.
grunt custom:-css
Exclude a bunch of modules:
grunt custom:-ajax/jsonp,-css,-deprecated,-dimensions,-effects,-offset,-wrap
There is also a special alias to generate a build with the same configuration as the official jQuery Slim build is generated:
grunt custom:slim
Получение значения элемента формы
В jQuery чтение значений элементов , и осуществляется посредством метода .
Например, получим значение элемента :
<input type="text" id="quantity" name="quantity" value="3" /> ... <script> // сохраним значение в переменную quantity var quantity = $('#quantity').val(); // выведем значение переменной quantity в консоль console.log(quantity); </script>
Метод , если в коллекции присутствует несколько элементов, вернёт значение только первого из них.
<input name="color" type="radio" value="white"> Белый<br> <input name="color" type="radio" value="green" checked> Зелёный<br> <input name="color" type="radio" value="brown"> Коричневый<br> ... <script> // получим значение первого элемента в коллекции var valColor = $('input').val(); console.log(valColor); // white // получим значение выбранной (checked) радиокнопки var valCheckedColor = $( "input:checked" ).val(); console.log(valCheckedColor); // green </script>
Для получения значения выбранного элемента (, , или кнопок) используйте .
// получить значение выбранной опции select $('select.color option:checked').val(); // получить значение выбранного select $('select.size').val(); // получить значение отмеченного (checked) checkbox $('input:checked').val(); // получить значение установленной радиокнопки $('input:checked').val();
Если коллекции нет элементов, то метод возвращает значение .
Например, получим значение элемента , имеющего имя :
var valDescription = $('textarea').val(); if (valDescription !== undefined) { console.log('Значение элемента textarea: ' + valDescription); } else { console.log('Элемент textarea с именем description на странице не найден!'); }
Получим значение элемента :
<select id="volume"> <option>16Gb</option> <option>32Gb</option> </select> ... <script> // получим значение выбранной опции элемента select var volume = $('#volume').val(); // выведем это значение в консоль console.log(volume); // выведем значение в консоль при изменении select $('#volume').change(function(){ var volume = $(this).val(); console.log(volume); }); </script>
Если элемент имеет множественный выбор (атрибут ), то метод возвратит в качестве результата массив, содержащий значение каждой выбранной опции (). Если ни одна опция не отмечена, то данный метод вернёт в качестве ответа пустой массив (до версии jQuery 3 значение ).
<select id="brands" multiple="multiple"> <option selected="selected">Acer</option> <option>Samsung</option> <option selected="selected">Asus</option> </select> <script> // var brands = $('#brands').val() || []; // до версии jQuery 3 var brands = $('#brands').val(); // для версии jQuery 3 // преобразуем массив в строку, используя разделитель ", " var output = brands.join( ", " ); // выведем строку в консоль console.log(output); </script>
Применение шаблона
Для объединения шаблона с данными используется метод tmpl(). При этом вы указываете данные, которые должны использоваться, и применяемый к ним шаблон. Пример использования этого метода приведен ниже:
Здесь мы выбираем элемент, который содержит шаблон, используя для этой цели функцию $(), и вызываем для полученного результата метод tmpl(), передавая ему в качестве аргумента данные, которые хотим обработать.
Метод tmpl() возвращает стандартный объект jQuery, который содержит элементы, полученные из шаблона. В данном случае это приводит к набору элементов div, каждый из которых содержит элементы img, label и input, сконфигурированные для одного из объектов, содержащихся в массиве данных. Для вставки всего набора в качестве дочернего элемента в элемент row1 используется метод appendTo(). Результат представлен на рисунке:
Модификация результата
Полученный результат не совсем нас устраивает, поскольку все элементы, соответствующие различным цветам, отображаются в одном ряду. Но поскольку мы имеем дело с объектом jQuery, расположить элементы так, как нам надо, не составит большого труда. В примере ниже показано, как это можно сделать, воздействуя на результат работы метода tmpl():
В этом примере методы slice() и end() используются для сужения и расширения набора выбранных элементов, а метод appendTo() — для добавления поднаборов элементов, сгенерированных с помощью шаблона, в различные ряды.
Обратите внимание: для возврата набора в исходное состояние, в котором он находился до применения методов slice() и appendTo(), метод end() пришлось вызывать два раза подряд. Ничего противозаконного в этом нет, и я охотно использую метод end(), чтобы выполнить необходимые действия в рамках одной инструкции, но последовательность end().end() не вызывает у меня восторга
В подобных случаях я предпочитаю разбивать всю последовательность действий на ряд отдельных операций, как показано в примере ниже:
В обоих случаях результат будет одним и тем же: представление совокупности продуктов двумя рядами, в каждом из которых отображается по три вида цветов, как показано на рисунке:
Изменение способа предоставления входных данных
Другой возможный подход заключается в изменении способа передачи данных методу tmpl(). Соответствующий пример приведен ниже:
В этом сценарии распределение элементов по рядам осуществляется путем двукратного использования шаблона — по одному разу для каждого ряда. Соответствующая часть объектов данных каждый раз передается шаблону с помощью метода slice(). Несмотря на отличие данного подхода от предыдущего, мы получаем тот же результат, который был представлен на рисунке выше.
Особенности запуска скрипта
Перед запуском плагина, библиотека jQuery проверяет готовность страницы и только после этого происходит инициирование скрипта. Поэтому следует указать, что страница готова к работе и все необходимые элементы на месте. Для этого используем готовый код со страницы с документацией, содержащий условие запуска.
Теперь проверяем работоспособность плагина на сайте. Если все сделано правильно и нет ошибок в коде, скрипт сработает корректно и на странице появится слайдер с изображениями.
Теперь стало очевидно, что подключить JQuery намного быстрее и проще, чем создавать JS-код с нуля. Работа с этой библиотекой помогает сэкономить время заказчика и исполнителя, быстро подобрать готовое решение и протестировать его на практике. Именно поэтому многие программисты и верстальщики обращаются к библиотеке готовых решений для оптимизации и ускорения своей работы.
Подключаем jQuery
Для того чтобы добавить jQuery на страницу, необходимо расположить тег с атрибутом , в котором указывается путь к скачанному файлу с jquery.min.js. Например, разместите следующий код в секции или до основного скрипта:
Подключаем jQuery и свой скрипт
JavaScript
<script src=»папка_со_скриптами/jquery.min.js»></script>
<script src=»папка_со_скриптами/myscript.js»></script>
//Очень часто это такой путь:
<script src=»js/jquery-3.5.0.min.js»></script>
<script src=»js/myscript.js»></script>
1 2 3 4 5 6 |
<script src=»папка_со_скриптами/jquery.min.js»></script> <script src=»папка_со_скриптами/myscript.js»></script> <script src=»js/jquery-3.5.0.min.js»></script> <script src=»js/myscript.js»></script> |
Подключение jQuery из локальной папки имеет следующие плюсы:
- Вы используете ту версию, которую считаете для сюда удобной
- Вы в любой момент можете найти файл с jQuery в папке и подключить его к другому сайту/html-странице.
- Вы не зависите от наличия/отсутствия интернета для того, чтобы написать свой код.
В том случае, когда у вас есть сайт в сети или вы уверены в стабильности своего интернета, вам стоит воспользоваться онлайн-сервисами, которые позволяют подключить jQuery из сети распределенного контента (CDN). Плюсы этого способа:
- Таких сервисов очень много, и они позволяют загрузить jQuery с ближайшего источника,
- Вы можете выбрать версию jQuery, хотя для этого вам, возможно, придется поискать нужную.
- Пользователь, просматривающий ваш сайт, уже загрузил в кэш своего браузера jQuery с того источника, который используете вы, и ваш сайт подхватит ее из кэша браузера, а значит загрузка будет очень быстрой.
Свойства и методы объекта Event
jQuery скрывает различия реализации между браузерами, определяя свой собственный объект события. Большинство свойств исходного события копируются и нормализуются в новый объект события. Ниже представлены свойства и методы этого объекта:
Свойство / Метод | Описание |
---|---|
event.currentTarget | Определяет текущий элемент DOM, в котором в настоящий момент обрабатывается событие. |
event.data | Необязательный объект данных, передаваемый методу события, когда текущий обработчик события привязывается. |
event.delegateTarget | Возвращает элемент, к которому был прикреплен вызванный в данный момент обработчик события. Это свойство будет отличаться от свойства event.currentTarget только в том случае, если обработчик события делегирован, а не на прямую привязан к элементу. |
event.isDefaultPrevented() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event.preventDefault() и false в обратном случае. |
event.isImmediatePropagationStopped() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event.stopImmediatePropagation() и false в обратном случае. |
event.isPropagationStopped() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event.stopPropagation() и false в обратном случае. |
event.metaKey | Содержит логическое значение, которое указывает на то, была ли нажата, или нет мета клавиша Сmd (Mac) / Windows (Windows), когда событие сработало. |
event.namespace | Соответствует пользовательскому пространству имён, определенному при срабатывании события (строковое значение). |
event.pageX | Позиция курсора мыши относительно левого края документа, или элемента. |
event.pageY | Позиция курсора мыши относительно верхнего края документа, или элемента. |
event.preventDefault() | Если этот метод вызывается, то действие события по умолчанию не будет срабатывать (отменяет действие события по умолчанию). Событие продолжает распространяться как обычно, только с тем исключением, что событие ничего не делает. |
event.relatedTarget | Соответствует другому элементу DOM, который участвует в событии, если таковой имеется. |
event.result | Содержит последнее значение, возвращаемое обработчиком события, которое было вызвано этим событием (если значение не было равно undefined). |
event.stopImmediatePropagation() | Прекращает дальнейшую передачу текущего события (предотвращает всплытие по дереву DOM) и останавливает цепочку вызова событий для текущего элемента. |
event.stopPropagation() | Прекращает дальнейшую передачу текущего события (предотвращает всплытие по дереву DOM). |
event.target | DOM элемент, который инициировал событие. |
event.timeStamp | Разница в миллисекундах между тем моментом, когда браузер создал событие и полуночи 1 января 1970 года (Unix-время). |
event.type | Описывает тип события, которое было вызвано. |
event.which | В зависимости от типа события свойство указывает на определенную клавишу клавиатуры или кнопку мыши, которая была нажата пользователем. |