This shit could not be easier.
Zjax gives you z-swap and z-action attributes to use in your HTML. That's it.
Nothing to install.
Just link to the CDN.
<head>
<script src="https://unpkg.com/zjax@3.0.4"></script>
...
</head>
Use z-swap to update parts of your DOM with AJAX.
<button z-swap="@click GET /some-path #cart">
Add to cart
</button>
When this button is clicked, the #cart element from the response will replace the #cart element in the current DOM.
Use z-action to attach client-side scripts.
<button z-action="@click $('#menu').remove()">
✕
</button>
The $() selector syntax makes it easy to use standard JavaScript to manipulate the DOM. This can be done right inline as seen above or referenced externally like this:
<button z-action="@click closeMenu">✕</button>
In order for the above to work, we'll need to register an action handler on the global zjax.actions object like this:
zjax.actions = {
closeMenu($) {
$('#menu').remove();
}
}
Of course, you aren't limited to simple one-liners. Any valid JavaScript can be used in an action function including even asynchronous operations like awaiting a response from a remote API.
…and that's just for appetizers.
Zjax fully supports CSS transitions, swapping multiple elements at the same time, using the return value of an action to trigger a swap, robust response error handling, and much more.
Read the Docs