self="@{each=str}" value="@{str}"> <listcell> <button label="drilldown..." onClick='alert(self.getAttribute("btn").item)'> <custom-attributes btn="@{str}"/> </button> </listcell> </listitem> </listbox> Client engine supports Canvas The client engine now supports dynamic loading of the Canvas . To include a dependency on ZK canvas you can specify it using ZK 5's package dependencies. To do this please take a look zk.canvas