javascript - 需要与 EXT JS 工具提示功能相关的帮助

标签 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 赋予工具提示对象,然后在 mouseout 事件发生时对该对象调用 .destroy() 方法。这也不起作用,有时会出现 JS 错误。

最佳答案

这个或类似的东西应该适合你:

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

关于javascript - 需要与 EXT JS 工具提示功能相关的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13412736/

相关文章:

javascript - 通过 AJAX 调用 PHP 随机发生器的输出

javascript - 当某项变为 'unstuck' 时的函数

javascript - 在 Backbone 中保留对全局集合的引用的最佳模式

javascript - ExtJs 父子组件双向绑定(bind)

javascript - Ext js 中的一切都是蓝色的吗?

javascript - 当直接访问一个数组的javascript对象属性时,它显示为空

javascript - 按div内容排序(点击)

javascript - 正则表达式 : Allow only characters a-z, A-Z

javascript - 商店添加 - 不起作用

javascript - textarea 的 getTargetEl().down ('input' ) 返回 null