/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/web/css/docs/source/js/dropdown.js
70 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 10:58
22 окт 2025, 10:58
3d4f486
Код
Авторство
О чём код?
/** * Copyright 2014 Adobe * All Rights Reserved. */ (function () { 'use strict'; $(document) .on('click.dropdown', function (event) { if (!$(event.target).is('[data-toggle=dropdown].active, ' + '[data-toggle=dropdown].active *, ' + '[data-toggle=dropdown].active + .dropdown-menu, ' + '[data-toggle=dropdown].active + .dropdown-menu *,' + '[data-toggle=dropdown].active + [data-target="dropdown"],' + '[data-toggle=dropdown].active + [data-target="dropdown"] *') ) { $('[data-toggle=dropdown].active').trigger('close.dropdown'); } }) .on('keyup.dropdown', function (event) { if (event.keyCode === 27) { // escape key $('[data-toggle=dropdown].active').trigger('close.dropdown'); } }); /** @function dropdown */ $.fn.dropdown = function (options) { options = $.extend({ parent: null, btnArrow: '.arrow', activeClass: 'active' }, options); return this.each(function () { var elem = $(this); elem.off('open.dropdown, close.dropdown, click.dropdown'); elem.on('open.dropdown', function () { elem.addClass(options.activeClass) .parent() .addClass(options.activeClass); elem.find(options.btnArrow).text('\u25b2'); // arrow up }); elem.on('close.dropdown', function () { elem.removeClass(options.activeClass) .parent() .removeClass(options.activeClass); elem.find(options.btnArrow).text('\u25bc'); // arrow down }); elem.on('click.dropdown', function () { var isActive = elem.hasClass('active'); $('[data-toggle=dropdown].active').trigger('close.dropdown'); elem.trigger(isActive ? 'close.dropdown' : 'open.dropdown'); return false; }); }); }; $(function () { $('[data-toggle=dropdown]').dropdown(); }); })();