/** * csp_global.js — MES2 全局事件委托脚本 * * 设计目标:在「无 'unsafe-inline' / 无 'unsafe-eval'」的严格 CSP 下, * 彻底替代原有的内联事件处理器(onclick / onchange / onsubmit / oninput)。 * * 两种迁移方式(均不使用 eval,符合严格 CSP): * 1) 语义类(来自早期批次改造) * - a.confirm-link[data-confirm] : 点击前 confirm 确认 * - form.confirm-form[data-confirm] : 提交前 confirm 确认 * - .station-card[data-href] : 卡片点击跳转(仅当带 data-href) * - select.auto-submit : 变更即提交所在表单 * 2) 函数委托(用于动态生成的复杂处理器) * - [data-action="fnName" data-args='[...]'] : 调用 window.fnName(...args) * - [data-action-el="fnName" data-args='[...]'] : 调用 window.fnName(el, ...args) * (data-action-el 会把触发元素 el 作为第一个参数传入, * 便于处理器读取 el.value / el.checked 等动态值) * * 注意:所有被调用的函数(addField、updateFieldsConfig、openEditModal …) * 必须由对应视图 / 辅助文件的「带 nonce 的