如何在ZK中获得Popup的位置?

时间:2012-01-12 10:10:15

标签: zk

我已经打开一个Popup,现在我想知道它的位置是否有任何getXXX(),如果没有那么我怎么能得到Popup的位置。

1 个答案:

答案 0 :(得分:1)

试试这个

<zk>
<script type="text/javascript">
    function updatePos(id) {
        var $pp = jq('$any'),
            left = zk.Widget.$(jq('$left')[0]),
            top = zk.Widget.$(jq('$top')[0]);

        // set client side value
        left.setValue($pp.offset().left + '');
        top.setValue($pp.offset().top + '');
        // trigger onChange to update server side
        left.fireOnChange();
        top.fireOnChange();
    }
</script>
<separator bar="true" />
<label value="Tooptip for Another Popup" tooltip="any" />
<popup id="any" width="300px">
    <attribute name="onOpen">
        if (event.isOpen())
            Clients.evalJavaScript("updatePos();")
    </attribute>
    <vbox>
        ZK simply rich.
        <toolbarbutton label="ZK your killer Web application now!"
            href="http://www.zkoss.org" />
    </vbox>
</popup>
<textbox id="left" />
<textbox id="top" />
<button onClick='alert(left.getValue() + ", " + top.getValue());' label="show left and top" />
</zk>

参考文献: ZK Popup ZK Client Side Programming