如何只覆盖具体对象的zk.Widget方法?

时间:2016-03-25 15:14:45

标签: zk zul

<script type="text/javascript">
    function move() {
      var pMeter = zk.Widget.$('$curr_met');
      // TODO override pMeter method here
    }
</script>

<progressmeter id="curr_met" value="0" width="280px" />

我想覆盖pMeter对象的_fixImgWidth。有可能吗?

1 个答案:

答案 0 :(得分:0)

cor3000的答案是given at ZK forum
我只是为未来的读者添加了这个答案。

  是的,这是可能的。与任何JS对象一样,您可以覆盖方法   通过替换它们。 (这不是ZK特定的。)

var oldMethod = pMeter._fixImgWidth;
pMeter._fixImgWidth = function(){
  // your implementation
  // or call original method
  oldMethod.apply(this, arguments)
}
     

然而,ZK中有一些支持功能可以使这更简单   从ZUL或Java代码(参见下面的文档链接):

     

Override in zul file

     

Override using the java API (same page)

     

如果您只想更改动画速度,请按this example   使用ca:animation-speed客户端/属性(7.0.3 +):