需要有关EXT JS工具提示功能的帮助

时间:2012-11-16 08:14:29

标签: javascript extjs

我们正在使用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错误。

1 个答案:

答案 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();
  }

}