Movatterモバイル変換


[0]ホーム

URL:


</> htmx

Events

Htmx provides an extensive events system that can be used to modify and enhance behavior. Eventsare listed below.

Event -htmx:abort

This event is different than other events: htmx does nottrigger it, but ratherlistens for it.

If you send anhtmx:abort event to an element making a request, it will abort the request:

<buttonid="request-button"hx-post="/example">Issue Request</button><buttononclick="htmx.trigger('#request-button','htmx:abort')">Cancel Request</button>

Event -htmx:afterOnLoad

This event is triggered after an AJAXonload has finished. Note that this does not mean that the contenthas been swapped or settled yet, only that the request has finished.

Details

Event -htmx:afterProcessNode

This event is triggered after htmx has initialized a DOM node. It can be useful for extensions to build additional features onto a node.

Details

Event -htmx:afterRequest

This event is triggered after an AJAX request has finished either in the case of a successful request (althoughone that may have returned a remote error code such as a404) or in a network error situation. This eventcan be paired withhtmx:beforeRequest to wrap behavior around a request cycle.

Details

Event -htmx:afterSettle

This event is triggered after the DOM hassettled.

Details

Event -htmx:afterSwap

This event is triggered after new content has beenswapped into the DOM.

Details

Event -htmx:beforeCleanupElement

This event is triggered before htmxdisables an element or removes it from the DOM.

Details

Event -htmx:beforeOnLoad

This event is triggered before any response processing occurs. If you callpreventDefault() on the event to cancel it, no swap will occur.

Details

Event -htmx:beforeProcessNode

This event is triggered before htmx initializes a DOM node and has processed all of itshx- attributes. This gives extensions and other external code the ability to modify the contents of a DOM node before it is processed.

Details

Event -htmx:beforeRequest

This event is triggered before an AJAX request is issued. If you callpreventDefault() on the event to cancel it, no request will occur.

Details

Event -htmx:beforeSend

This event is triggered right before a request is sent. You may not cancel the request with this event.

Details

Event -htmx:beforeSwap

This event is triggered before any new content has beenswapped into the DOM.Most values ondetail can be set to override subsequent behavior, other than where response headers take precedence.If you callpreventDefault() on the event to cancel it, no swap will occur.

You can modify the default swap behavior by modifying theshouldSwap,selectOverride,swapOverride andtarget properties of the event detail.See the documentation onconfiguring swapping for more details.

Details

Event -htmx:beforeTransition

This event is triggered before aView Transitionwrapped swap occurs. If you callpreventDefault() on the event to cancel it, the View Transition will not occur and the normal swapping logic willhappen instead.

Details

Event -htmx:configRequest

This event is triggered after htmx has collected parameters for inclusion in the request. It can beused to include or update the parameters that htmx will send:

document.body.addEventListener('htmx:configRequest',function(evt) {evt.detail.parameters['auth_token'] =getAuthToken();// add a new parameter into the mix});

Note that if an input value appears more than once the value in theparameters object will be an array, ratherthan a single value.

Details

Event -htmx:confirm

This event is fired on every trigger for a request (not just on elements that have a hx-confirm attribute).It allows you to cancel (or delay) issuing the AJAX request.If you callpreventDefault() on the event, it will not issue the given request.Thedetail object contains a function,evt.detail.issueRequest(skipConfirmation=false), that can be used to issue the actual AJAX request at a later point.Combining these two features allows you to create an asynchronous confirmation dialog.

Here is a basic example that shows the basic usage of thehtmx:confirm event without altering the default behavior:

document.body.addEventListener('htmx:confirm',function(evt) {// 0. To modify the behavior only for elements with the hx-confirm attribute,//    check if evt.detail.target.hasAttribute('hx-confirm')// 1. Prevent the default behavior (this will prevent the request from being issued)evt.preventDefault();// 2. Do your own logic hereconsole.log(evt.detail)// 3. Manually issue the request when you are readyevt.detail.issueRequest();// or evt.detail.issueRequest(true) to skip the built-in window.confirm()});

And here is an example usingsweet alert on any element with aconfirm-with-sweet-alert="{question}" attribute on it:

document.body.addEventListener('htmx:confirm',function(evt) {// 1. The requirement to show the sweet alert is that the element has a confirm-with-sweet-alert//    attribute on it, if it doesn't we can return early and let the default behavior happenif(!evt.detail.target.hasAttribute('confirm-with-sweet-alert'))return// 2. Get the question from the attributeconstquestion=evt.detail.target.getAttribute('confirm-with-sweet-alert');// 3. Prevent the default behavior (this will prevent the request from being issued)evt.preventDefault();// 4. Show the sweet alertswal({    title:"Are you sure?",    text:question||"Are you sure you want to continue?",    icon:"warning",    buttons:true,    dangerMode:true,  }).then((confirmed)=>{if(confirmed) {// 5. If the user confirms, we can manually issue the requestevt.detail.issueRequest(true);// true to skip the built-in window.confirm()    }  });});
Details

Event -htmx:historyCacheError

This event is triggered when an attempt to save the cache tolocalStorage fails

Details

Event -htmx:historyCacheMiss

This event is triggered when a cache miss occurs when restoring history

Details

Event -htmx:historyCacheMissError

This event is triggered when a cache miss occurs and a response has been retrieved from the serverfor the content to restore, but the response is an error (e.g.404)

Details

Event -htmx:historyCacheMissLoad

This event is triggered when a cache miss occurs and a response has been retrieved successfully from the serverfor the content to restore

Details

Event -htmx:historyRestore

This event is triggered when htmx handles a history restoration action

Details

Event -htmx:beforeHistorySave

This event is triggered before the content is saved in the history api.

Details

Event -htmx:load

This event is triggered when a new node is loaded into the DOM by htmx.

Details

Event -htmx:noSSESourceError

This event is triggered when an element refers to an SSE event in its trigger, but no parent SSE source has been defined

Details

Event -htmx:oobAfterSwap

This event is triggered as part of anout of band swap and behaves identically to anafter swap event

Details

Event -htmx:oobBeforeSwap

This event is triggered as part of anout of band swap and behaves identically to abefore swap event

Details

Event -htmx:oobErrorNoTarget

This event is triggered when anout of band swap does not have a corresponding elementin the DOM to switch with.

Details

Event -htmx:onLoadError

This event is triggered when an error occurs during theload handling of an AJAX call

Details

Event -htmx:prompt

This event is triggered after a prompt has been shown to the user with thehx-promptattribute. If this event is cancelled, the AJAX request will not occur.

Details

Event -htmx:beforeHistoryUpdate

This event is triggered before a history update is performed. It can beused to modify thepath ortype used to update the history.

Details

Event -htmx:pushedIntoHistory

This event is triggered after a URL has been pushed into history.

Details

Event -htmx:replacedInHistory

This event is triggered after a URL has been replaced in history.

Details

Event -htmx:responseError

This event is triggered when an HTTP error response occurs

Details

Event -htmx:sendAbort

This event is triggered when a request is aborted

Details

Event -htmx:sendError

This event is triggered when a network error prevents an HTTP request from occurring

Details

Event -htmx:sseError

This event is triggered when an error occurs with an SSE source

Details

Event -htmx:swapError

This event is triggered when an error occurs during the swap phase

Details

Event -htmx:targetError

This event is triggered when a bad selector is used for ahx-target attribute (e.g. anelement ID without a preceding#)

Details

Event -htmx:timeout

This event is triggered when a request timeout occurs. This wraps the typicaltimeout event of XMLHttpRequest.

Timeout time can be set usinghtmx.config.timeout or per element usinghx-request

Details

Event -htmx:trigger

This event is triggered whenever an AJAX request would be, even if no AJAX request is specified. Itis primarily intended to allowhx-trigger to execute client-side scripts; AJAX requests have moregranular events available, likehtmx:beforeRequest orhtmx:afterRequest.

Details

Event -htmx:validateUrl

This event is triggered before a request is made, allowing you to validate the URL that htmx is going to request. IfpreventDefault() is invoked on the event, the request will not be made.

document.body.addEventListener('htmx:validateUrl',function(evt) {// only allow requests to the current server as well as myserver.comif(!evt.detail.sameHost&&evt.detail.url.hostname !=="myserver.com") {evt.preventDefault();  }});
Details

Event -htmx:validation:validate

This event is triggered before an element is validated. It can be used with theelt.setCustomValidity() methodto implement custom validation rules.

<formhx-post="/test">  <input_="on htmx:validation:validate               if my.value != 'foo'                  call me.setCustomValidity('Please enter the value foo')               else                  call me.setCustomValidity('')"name="example"></form>
Details

Event -htmx:validation:failed

This event is triggered when an element fails validation.

Details

Event -htmx:validation:halted

This event is triggered when a request is halted due to validation errors.

Details

Event -htmx:xhr:abort

This event is triggered when an ajax request aborts

Details

Event -htmx:xhr:loadstart

This event is triggered when an ajax request starts

Details

Event -htmx:xhr:loadend

This event is triggered when an ajax request finishes

Details

Event -htmx:xhr:progress

This event is triggered periodically when an ajax request that supports progress is in flight

Details

[8]ページ先頭

©2009-2025 Movatter.jp