【问题标题】:How to stop title attribute from displaying tooltip temporarily?如何暂时停止标题属性显示工具提示?
【发布时间】:2010-09-22 04:36:24
【问题描述】:

我在右键单击时显示了一个弹出 div(我知道这会破坏预期的功能,但 Google Docs 会这样做,为什么不呢?)但是我显示弹出窗口的元素有一个“标题”属性集,它出现在我的 div 的顶部。我仍然希望工具提示能够正常工作,但在弹出窗口存在时却不行。

在弹出窗口打开/打开时停止显示工具提示的最佳方法是什么?

编辑:我正在使用 jQuery

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    使用jquery,您可以绑定悬停功能,同时在鼠标悬停时将标题属性设置为空白,然后在鼠标移出时将其重置。

    $("element#id").hover(
     function() {
      $(this).attr("title","");
      $("div#popout").show();
     },
     function() {
      $("div#popout").hide();
      $(this).attr("title",originalTitle);
     }
    );
    

    【讨论】:

    • 不错!我使用的 jQuery 非常完美(应该提到)
    • originalTitle 来自哪里?您可以使用 .data() 存储它以获得更通用的解决方案。
    • 在此解决方案中,工具提示如何在悬停时仍然有效,同时启用右键单击弹出窗口?
    【解决方案2】:

    这是另一个示例,说明如何使用data 进行值存储和prop 进行值分配

    $('[title]').on({
        mouseenter : function()
        {
            $(this).data('title', this.title).prop('title', '');
        },
        mouseleave: function()
        {
            $(this).prop('title', $(this).data('title'));
        }
    });
    

    【讨论】:

      【解决方案3】:

      我认为设置为空白,当弹出窗口关闭时,再次设置正确的文本。我认为这是阻止它的最简单方法。

      【讨论】:

        【解决方案4】:

        对我来说,我不在乎标题标签的内容是什么。我刚刚做了:

        $('a').hover(function() {
        
            $(this).attr('title', '');
        
        });
        

        这阻止了标题标签的显示。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-15
          • 1970-01-01
          • 2013-04-07
          • 1970-01-01
          • 2021-03-25
          • 2014-02-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多