| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package wtypes
- // IHxTrigger -- атрибут триггера HTMX (hx-trigger)
- //
- // # Список событий разделяется запятыми
- //
- // click -- простой щелчок
- //
- // click[ctrlKey] -- щелчок с удержанием CTRL
- //
- // click[ctrlKey&&shiftKey]
- //
- // click[checkGlobalState()]
- //
- // Модификаторы:
- //
- // once — событие будет срабатывать только один раз (например, при первом нажатии)
- //
- // changed — событие сработает только в том случае, если значение элемента изменилось.
- // Пожалуйста, обратите внимание, что change — это название события, а changed —
- // название модификатора.
- //
- // delay:<timing declaration> — перед тем как событие вызовет запрос, произойдёт
- // задержка. Если событие произойдёт снова, задержка сбросится.
- //
- // throttle:<timing declaration> — дросселирование произойдёт после того, как событие
- // вызовет запрос. Если событие произойдёт снова до завершения задержки, оно будет
- // проигнорировано, а элемент сработает в конце задержки.
- //
- // from:<Extended CSS selector> — позволяет событию, запускающему запрос, исходить от
- // другого элемента в документе (например, прослушивание события нажатия клавиши в теле
- // документа для поддержки горячих клавиш). Подробнее
- // https://htmx.org/attributes/hx-trigger/
- //
- // target:<CSS selector> — позволяет фильтровать события с помощью CSS-селектора по цели
- // события.
- //
- // queue:<queue option> — определяет, как события ставятся в очередь, если событие
- //
- // происходит во время выполнения запроса на другое событие. Возможные варианты:
- //
- // first - поставить в очередь первое событие
- //
- // last - поставить в очередь последнее событие (по умолчанию)
- //
- // all - поставить в очередь все события (отправить запрос для каждого события)
- //
- // none - не ставить в очередь новые события
- //
- // Основные события DOM
- //
- // click - Срабатывает при клике на элемент.
- //
- // dblclick - Срабатывает при двойном клике на элемент.
- //
- // mouseenter - Срабатывает, когда курсор мыши наводится на элемент.
- //
- // mousemove -- Срабатывает, когда мышь двигается по элементу
- //
- // mouseleave - Срабатывает, когда курсор мыши покидает элемент.
- //
- // mouseover - Срабатывает, когда курсор мыши наводится на элемент или его потомков.
- //
- // mouseout - Срабатывает, когда курсор мыши покидает элемент или его потомков.
- //
- // mousedown - Срабатывает при нажатии кнопки мыши на элементе.
- //
- // mouseup - Срабатывает при отпускании кнопки мыши на элементе.
- //
- // keydown - Срабатывает при нажатии клавиши на клавиатуре.
- //
- // keyup - Срабатывает при отпускании клавиши на клавиатуре.
- //
- // keypress - Срабатывает при нажатии и удержании клавиши на клавиатуре.
- //
- // focus - Срабатывает при фокусировке на элементе.
- //
- // blur - Срабатывает при потере фокуса элементом.
- //
- // change - Срабатывает при изменении значения элемента (например, в input или select).
- //
- // input - Срабатывает при вводе данных в элемент (например, в input или textarea).
- //
- // submit - Срабатывает при отправке формы.
- //
- // load - Срабатывает при загрузке элемента (например, изображения).
- //
- // scroll - Срабатывает при прокрутке элемента.
- //
- // resize - Срабатывает при изменении размеров окна.
- //
- // Нестандартные события
- //
- // load - срабатывает при загрузке (полезно для отложенной загрузки чего-либо)
- //
- // revealed - срабатывает при прокрутке элемента в область просмотра (также полезно
- // для отложенной загрузки). См. документацию.
- //
- // intersect — срабатывает один раз, когда элемент впервые пересекает область просмотра.
- //
- // Поддерживает два дополнительных параметра:
- //
- // root:<selector> - CSS-селектор корневого элемента для пересечения
- //
- // threshold:<float> — число с плавающей запятой от 0,0 до 1,0, указывающее,
- // при каком проценте пересечения должно срабатывать событие
- //
- // htmx:afterRequest - Срабатывает после завершения AJAX-запроса.
- //
- // htmx:beforeRequest - Срабатывает перед отправкой AJAX-запроса.
- //
- // htmx:configRequest - Срабатывает перед настройкой AJAX-запроса.
- //
- // htmx:afterSettle - Срабатывает после применения изменений в DOM.
- //
- // htmx:afterSwap - Срабатывает после замены содержимого в DOM.
- //
- // Примеры
- //
- // hx-trigger="every 1s">
- //
- // hx-trigger="load, click delay:1s"></div>
- //
- // В этом примере ресурс будет загружаться сразу после загрузки страницы, а затем
- // снова с задержкой в одну секунду после каждого нажатия.
- //
- // <div hx-trigger="mouseenter delay:500ms" hx-get="/example">Hover me</div>
- //
- // Указывает элемент, от которого будет считываться событие:
- //
- // <div hx-trigger="click from:#button" hx-get="/example">Click the button</div>
- //
- // <button id="button">Click me</button>
- //
- // Получение абсолютных координат курсора
- //
- // <div hx-trigger="mousemove" hx-get="/get-coordinates"
- //
- // hx-vals='js:{x: event.clientX, y: event.clientY}'
- //
- // style="width: 300px; height: 200px; border: 1px solid black;">
- //
- // Наведите курсор на меня
- //
- // </div>
- //
- // Для относительной позиции:
- //
- // hx-vals='js:{x: event.offsetX, y: event.offsetY}'
- type IHxTrigger interface {
- // Set -- устанавливает триггер атрибута
- Set(string)
- // Get -- возвращает триггер атрибута
- Get() string
- // String -- возвращает строковое значение тэга
- String() string
- }
|