我们正在使用EXTJS 3.1.0
我们必须使用代码
向图像添加工具提示function loadToolTip(objImageId,entity_id,entity_type){
var objImage = document.getElementById(objImageId);
var tp = new Ext.ToolTip({
target: objImage,
autoLoad: {url: ‘some URL’},
showDelay:500
});
var extObjImage = Ext.get(objImageId);
tp.showAt([extObjImage.getX()+25,extObjImage.getY()+25]);
if(tp.anchorEl){
tp.anchorEl.hide();
}
}
在图像的mouseover
事件上调用此函数。
用户可能会在更改某些数据后对图像mouseover
进行操作,每次我们都必须从服务器获取工具提示内容。
我们面临的问题是,每次我们执行鼠标操作时都会创建多个工具提示。
理想情况下,我们希望它只显示一次。我们尝试向工具提示对象提供id,然后在.destroy()
事件发生时调用该对象上的mouseout
方法。这也不起作用,有时会给JS错误。
答案 0 :(得分:1)
这类似的东西对你有用:
function loadToolTip(objImageId,entity_id,entity_type){
var extObjImage = Ext.get(objImageId);
var tp = objImage.tp;
if(!tp)
{
var objImage = document.getElementById(objImageId);
tp = new Ext.ToolTip({
target: objImage,
autoLoad: {url: ‘some URL’},
showDelay:500
});
extObjImage.tp = tp;
}
tp.showAt([extObjImage.getX()+25,extObjImage.getY()+25]);
if(tp.anchorEl){
tp.anchorEl.hide();
}
}