Mootools 或 JavaScript :$tmp代表什么或也与什么有关

mootools or javascript : what does $tmp stand for or what does it pertain too

提问人:lock 提问时间:10/6/2008 最后编辑:lock 更新时间:2/10/2017 访问量:2061

问:

我目前正在处理 from 库,我的代码在包含这些代码的行上中断,控制台说它是未定义的Tips.jsmootoolsel.$tmp

谁能帮我?

Javascript Mootools

评论

0赞 Ates Goral 10/6/2008
“$tmp”只是一个属性名称。JavaScript 变量/属性可以带有“$”。你能给我们看一些你正在做的事情的代码摘录吗?在我看来,这就像是 API 误用,导致 MooTools 在它认为应该设置的属性未设置时呕吐。

答:

1赞 keif 10/6/2008 #1

我建议把你的问题发布出来,并附上一个页面的链接,指向以下任一/或/和:

http://mooforum.net

http://groups.google.com/group/mootools-users/topics

这就是蜂拥而至的社区。

现在至于在这里回答它 - 我需要更多的信息(代码示例?

0赞 Eric Wendelin 10/6/2008 #2

嗯。我不完全确定 el.$tmp 在 MooTools 中指的是什么,但一条消息指出“控制台未定义”可能是因为有人试图登录到 Firebug(或其他)控制台,如果您没有 Firebug 和朋友,该对象就不存在。

如果您没有为 Firefox 安装 http://getfirebug.com'>Firebug,那么您可以试一试。查看是否可以找到控制台语句并将其删除。此外,如果您不使用 Firefox,您可以在 IE、Safari 或 Opera 中使用 Firebug Lite。

评论

0赞 nickf 10/6/2008
他说控制台说的是 el.$tmp 是未定义的,而不是控制台未定义的。
1赞 Ryan 10/28/2008 #3

在 1.11 中(尚未签入 1.2+),$tmp是对元素本身的引用,由垃圾回收器在内部创建和使用:

var Garbage = {

    elements: [],

    collect: function(el){
        if (!el.$tmp){
            Garbage.elements.push(el);
            el.$tmp = {'opacity': 1};
        }
        return el;
    },

    trash: function(elements){
        for (var i = 0, j = elements.length, el; i < j; i++){
            if (!(el = elements[i]) || !el.$tmp) continue;
            if (el.$events) el.fireEvent('trash').removeEvents();
            for (var p in el.$tmp) el.$tmp[p] = null;
            for (var d in Element.prototype) el[d] = null;
            Garbage.elements[Garbage.elements.indexOf(el)] = null;
            el.htmlElement = el.$tmp = el = null;
        }
        Garbage.elements.remove(null);
    },

    empty: function(){
        Garbage.collect(window);
        Garbage.collect(document);
        Garbage.trash(Garbage.elements);
    }

};

行(在上面的 collect 方法中)和(在上面的垃圾桶方法中)是我可以找到的源代码中唯一分配此属性的地方,尽管它被各种其他方法调用,例如 Element.setOpacity 和 Element.getStyle(具体来说,仅返回不透明度值),以及 Tips 类中的方法el.$tmp = {'opacity': 1};el.htmlElement = el.$tmp = el = null;

1.2 可能没有这个问题,但无论如何,希望有帮助,对不起,我帮不上更多忙