7 hours ago
- 本文描述如何用大约40行JavaScript构建一个极简的HTMX克隆,复制了声明式AJAX请求、DOM交换和事件触发等核心功能。
- 该克隆使用 x-get、x-post、x-target 和 x-swap 等属性来定义HTTP方法、触发事件、目标元素和交换模式,并通过 scan 函数绑定事件。
- 增强功能包括带修饰符(delay, once, changed)的自定义触发语法、高级目标解析(closest, next, find)以及对HTMX风格服务器响应(HX-Trigger, HX-Redirect)的支持。
- 该库会触发自定义事件(x:beforeSend, x:afterSend, x:beforeSwap, x:afterSwap)以支持插件集成,从而在不修改核心的情况下实现确认对话框、指示器、表单增强和历史更新等功能。
- 最终实现聚焦于简单的“SSS”(扫描、发送、交换)架构,并通过插件(如 x-boost、x-confirm、x-indicator 等)提供额外功能,保持核心小巧且易于维护。