就像标题所说的那样。因为buildin小部件不适合,我想做什么,我需要自己创建tooltipdialog:
开始简单:
dojo.query(".small-avatar").connect("onmouseenter", function () {
var pos = dojo.position(this, true);
dojo.query("#user-tooltip").style({ left: pos.x, top: pos.y, visibility:"visible" });
});
我来这里。嗯,我猜问题是pos。我试图用文档挖掘,但老实说没有关于如何访问x和y位置的话,所以我认为它是用“。”。
更新
经过更多检查后,我发现问题在于它自我或风格。 由于某种原因,Dojo不会将坐标添加到目标节点“#user-tooltip”。它只是改变了可见度。
答案 0 :(得分:0)
您pos.x
和pos.y
正确引用,因为dojo.position()
返回了一个对象文字。 From the Dojo docs,返回对象如下所示:
{ w: 300: h: 150, x: 700, y: 900, }
您可能需要在position: absolute
上设置position: relative
或#user-tooltip
。
答案 1 :(得分:0)
我终于明白了:
dojo.query(".small-avatar").connect("onmouseenter", function (e) {
var pos = dojo.position(this, true);
dojo.style(dojo.byId('user-tooltip'), { visibility: "visible", "left": pos.x+pos.w+'px', "top": pos.y+pos.h+'px' });
});