Привязка события resize к элементу - PullRequest
0 голосов
/ 01 августа 2020

я нашел этот скрипт

в строке 23/24 это код:

$(window).off('resize.flexImages'+grid.data('flex-t'));
$(window).on('resize.flexImages'+t, function(){ makeGrid(grid, items, o); });

что именно делает resize.flexImages?

1 Ответ

1 голос
/ 01 августа 2020

'resize.flexImages' - это просто строка, которая представляет тип события в DOM - он используется в этом скрипте для начала имени события, которое привязано к функции обработчика событий, в этом case function(){ makeGrid(grid, items, o); } во время вызова функции on().

Вызов функции .off() не указывает функцию-обработчик, поскольку он предположительно уже привязан / прикреплен к этому событию во время вызова on() - который снова указывается как строка. off() просто удаляет обработчик.

Если вы читаете документацию здесь: https://api.jquery.com/on/, вы увидите, что jQuery рекомендует это соглашение для наименования события поэтому он не мешает другим событиям, в этом примере предположительно другим resize событиям .

Имя события может быть уточнено пространствами имен событий, которые упрощают удаление или запуск событие. Например, «click.myPlugin.simple» определяет как myPlugin, так и простые пространства имен для этого конкретного события щелчка. Обработчик события щелчка, прикрепленный через эту строку, может быть удален с помощью .off («click.myPlugin») или .off («click.simple»), не затрагивая другие обработчики щелчков, прикрепленные к элементам. Пространства имен похожи на классы CSS в том, что они не являются иерархическими; только одно имя должно совпадать. Пространства имен должны содержать только прописные / строчные буквы и цифры.

... Из jQuery docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...