package wtypes // IHxTrigger -- атрибут триггера HTMX (hx-trigger) // // # Список событий разделяется запятыми // // click -- простой щелчок // // click[ctrlKey] -- щелчок с удержанием CTRL // // click[ctrlKey&&shiftKey] // // click[checkGlobalState()] // // Модификаторы: // // once — событие будет срабатывать только один раз (например, при первом нажатии) // // changed — событие сработает только в том случае, если значение элемента изменилось. // Пожалуйста, обратите внимание, что change — это название события, а changed — // название модификатора. // // delay: — перед тем как событие вызовет запрос, произойдёт // задержка. Если событие произойдёт снова, задержка сбросится. // // throttle: — дросселирование произойдёт после того, как событие // вызовет запрос. Если событие произойдёт снова до завершения задержки, оно будет // проигнорировано, а элемент сработает в конце задержки. // // from: — позволяет событию, запускающему запрос, исходить от // другого элемента в документе (например, прослушивание события нажатия клавиши в теле // документа для поддержки горячих клавиш). Подробнее // https://htmx.org/attributes/hx-trigger/ // // target: — позволяет фильтровать события с помощью CSS-селектора по цели // события. // // queue: — определяет, как события ставятся в очередь, если событие // // происходит во время выполнения запроса на другое событие. Возможные варианты: // // 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: - CSS-селектор корневого элемента для пересечения // // threshold: — число с плавающей запятой от 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"> // // В этом примере ресурс будет загружаться сразу после загрузки страницы, а затем // снова с задержкой в одну секунду после каждого нажатия. // //
Hover me
// // Указывает элемент, от которого будет считываться событие: // //
Click the button
// // // // Получение абсолютных координат курсора // //
// // Наведите курсор на меня // //
// // Для относительной позиции: // // hx-vals='js:{x: event.offsetX, y: event.offsetY}' type IHxTrigger interface { // Set -- устанавливает триггер атрибута Set(string) // Get -- возвращает триггер атрибута Get() string // String -- возвращает строковое значение тэга String() string }