如何观察 ZK 元素的数据属性?

How can I observe data-attributes of ZK elements?

我想在 ZK 元素的数据属性更改时在后端执行某些操作。
Javascript中有MutationObserver,ZK中有类似的东西可以用吗?

我已经检查了 ZK Events class 但是似乎没有监听属性变化的事件。

默认情况下,在更改组件上的 clientAttribute 时不会触发事件侦听器或类似事件。

变化从何而来?这是客户端发生的事件吗?或者对 Java 中的组件对象进行更改?你能解释一下用例吗?可能有不同的方法来实现它:)

编辑:交流后的技术方案。 从客户端到服务器端触发一个事件: https://www.zkoss.org/wiki/ZK_Client-side_Reference/Communication/AU_Requests/Client-side_Firing#Fire_Event_Directly_to_Server

我建议改为触发 "onCustom" 事件(任何以 "on"+yourEventName 开头的事件名称)。您还需要在事件可选参数中使用 toServer:true 以将其直接触发到服务器。这是一个不错的选择:zAu.send(new zk.Event(wgt, "onFoo", {foo: 'my data'}, {toServer:true})); 其中 wgt 是小部件对象,"onFoo" 是自定义事件名称,{foo: 'my data'} 是有效负载,如果您需要发回任何东西到服务器,{toServer: true} 是可选参数,toServer 条目

触发的问题 onChange 是默认操作发送的默认事件。大多数组件上已经有与 onChange 相关的行为。您可能会触发一个默认工作流,该工作流需要特定的有效负载并造成错误情况。通过发送 onCustomName(不管它是什么,只是不是默认事件)事件,您肯定只会通过调用 zAu.send

来触发侦听器