【问题标题】:How to prevent Richfaces popupPanel from being moved in JavaScript?如何防止 Richfaces popupPanel 在 JavaScript 中被移动?
【发布时间】:2012-04-16 09:19:29
【问题描述】:

我使用rich:PopupPanel 组件来显示一些内容,我希望它们能够被用户最大化和恢复。我已经实现了组件的大小调整和定位,但问题是如何防止 popupPanel 在最大化时被移动,并在其恢复时允许它。

这是我负责最大化和恢复 popupPanel 的按钮代码

<!-- language: lang-js -->
<a4j:commandLink id="maximizeRestoreButton" execute="@none"
    render="@none" value="Maximize"
    oncomplete="
        var comp = #{rich:component(cc.attrs.popupId)};

        if (comp.isMaximized) {
            var rv = comp.restoreValues;                    

            comp.moveTo(rv.top, rv.left);
            comp.resize(rv.width - comp.width(), rv.height - comp.height());
            comp.isMaximized = false;
        } else {
            var rv = new Object();
            rv.top = comp.getTop();
            rv.left = comp.getLeft();
            rv.width = comp.width();
            rv.height = comp.height();

            comp.moveTo(0,0);
            comp.resize(window.innerWidth - comp.width(), window.innerHeight - comp.height()); 

            comp.isMaximized = true;
            comp.restoreValues = rv;
        }

        return false;" />

【问题讨论】:

    标签: javascript jsf richfaces maximize popuppanel


    【解决方案1】:

    我会建议你使用 popupPanel 标签来防止弹出面板移动和调整大小,而不是外部 js 函数。在丰富的popupPanel 标记中设置movable=false 和resizable = false。例如

    <rich:popupPanel resizable="false" movable="false" ...>
    .....
    </rich:popupPanel>
    

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 2010-10-28
      • 1970-01-01
      • 2015-11-12
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多