首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类将从div中移除。

类将从div中移除。
EN

Stack Overflow用户
提问于 2015-09-20 20:13:15
回答 2查看 55关注 0票数 3

OpenERP web接口严重依赖于javascript、QWeb、jQuery (我认为)和css。

默认视图在顶部有一个黑色菜单栏,左边有一个侧菜单栏,其余的是为所服务的内容而设的屏幕。

我试图“修复”的问题是,它被显示为一个大页面,这意味着如果您滚动页面,顶部菜单和侧菜单也会滚动。

我有一个几乎可行的解决方案:

  • 将顶部菜单栏调整为固定
  • 调整边菜单栏以固定
  • 调整剩余空间以占用剩余空间

为了做到这一点,我还必须添加一个新的css类,我称之为oe_main_window,并定位了设置视图的代码,以便使用类oe_view_manager_currentoe_main_window添加到div中。

这对于主要视图来说很好。

但是,如果我单击主视图中的一个链接,比如显示一个产品,它将删除oe_main_window类并破坏显示。如果我进入开发工具并将oe_main_window添加回来,则显示也是正确的。

我已经尝试搜索发生这种情况的地方,但是到目前为止,没有找到适当的代码来不删除新的类,或者在转换之后再添加它。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-20 20:25:15

您可以在这里找到如何在DOM突变上放置断点:https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-mutation-events

主要是使用F12打开chrome开发工具,右键单击div并单击“断开on...>>属性修改”。

票数 3
EN

Stack Overflow用户

发布于 2015-10-17 19:31:19

针对第一个oe_view_manager的问题,找到了最终的解决方案。下面是(笨拙的) JavaScript:

代码语言:javascript
运行
复制
function addOeMainWindow() {
    var newChildren = [];
    var currentChild, getAttr, oldClass, newClass;
    var i;
    for (i=0; i<document.childNodes.length; i+=1) {
        newChildren.push(document.childNodes[i]);
    }
    while (newChildren.length > 0) {
        currentChild = newChildren.shift();
        getAttr = currentChild.getAttribute;
        if (getAttr !== undefined) {
            oldClass = currentChild.getAttribute("class");
            if (/oe_view_manager/.test(oldClass) && !/oe_main_window/.test(oldClass)) {
                newClass = oldClass + " oe_main_window";
                currentChild.setAttribute("class", newClass);
                return;
            }
        }
        for (i=0; i<currentChild.childNodes.length; i+=1) {
            newChildren.push(currentChild.childNodes[i]);
        }
    }
    return;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32683826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档