javascript – 添加回调到在web.list.Column的子类中创建的DOM元素

前端之家收集整理的这篇文章主要介绍了javascript – 添加回调到在web.list.Column的子类中创建的DOM元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试修改web_tree_image小部件.我希望在悬停或点击时显示更大的图像,而不是仅在列中显示小图像.为了实现这一点,我试图通过覆盖start函数在渲染窗口小部件后添加回调,如 the documentation中所述.

因此,我将以下代码添加web_tree_image.js

openerp.web_tree_image = function (instance) {
    instance.web.list.Image = instance.web.list.Column.extend({
        // [...]
        start: function() {
            console.log("start called");
            // [... add callbacks ...]
        },// [...]
    });
};

但是,从不调用start函数,因此这不起作用.

我还没有完全理解通常会导致开始被调用代码路径,但似乎web.list.Column在某种程度上是不同的.

应该开始打电话,我做错了什么?或者在创建DOM元素之后还有另一种执行代码方法吗?

解决方法

虽然我仍然不知道为什么没有调用start函数,但这是一个解决方法
openerp.web_tree_image = function (instance) {
    instance.web.list.Image = instance.web.list.Column.extend({
        // ...
        format: function (row_data,options) {
            // ...
            window.setTimeout(function() {
                console.log("DOM ready");
                // ... add callbacks ...
            },0);
            // ...
        },// ...
    });
};

通过向超时0添加事件队列,可以推迟执行,直到已经按照here解释创建了相关的DOM元素.

猜你在找的JavaScript相关文章