构建 htmx 扩展

要定义一个扩展,您需要调用 htmx.defineExtension() 函数:

<script>
  htmx.defineExtension('my-ext', {
    onEvent : function(name, evt) {
        console.log("Fired event: " + name, evt);
    }
  })
</script>

通常,这应该在一个独立的 JavaScript 文件中完成,而不是在内联的 script 标签中。

扩展名称应使用短横线分隔,并且要简短、描述性强。

扩展可以通过重写以下默认扩展点来添加或改变功能:

{
    init: function(api) {return null;},
    getSelectors: function() {return null;},
    onEvent : function(name, evt) {return true;},
    transformResponse : function(text, xhr, elt) {return text;},
    isInlineSwap : function(swapStyle) {return false;},
    handleSwap : function(swapStyle, target, fragment, settleInfo) {return false;},
    encodeParameters : function(xhr, parameters, elt) {return null;}
}