首页 > 解决方案 > 如何禁用 xe:dashboard 和 xe:carousel 控件的“仪表板”和“轮播”默认工具提示?

问题描述

我试图禁用将鼠标悬停在 xe:dashboard 和 xe:carousel 控件上时自动显示的“仪表板”和“轮播”工具提示。

在此处输入图像描述

我确实尝试添加以下 scriptBolck 但仍然收到工具提示

    <xp:scriptBlock id="scriptBlock2">
        <xp:this.value><![CDATA[// disable tooltips
           $(document).ready(function(){
              console.log("IN $(document).ready(function(){ ");
              $('[rel=tooltip]').tooltip()          // Init tooltips
              $('[rel=tooltip]').tooltip('disable') // Disable tooltips
              $('[rel=tooltip]').tooltip('enable')  // (Re-)enable tooltips
              $('[rel=tooltip]').tooltip('destroy') // Hide and destroy tooltips
       });]]></xp:this.value>
    </xp:scriptBlock>

标签: xpagesxpages-extlib

解决方案


它不是工具提示,而是title包含 xspDashboard 类的 div 上的属性:

<div id="view:_id1:layout:contentPanel:dashboardPanel:mainDashboard" class="row xspDashboard" style="background-color: #eeeeee;border-radius: 8px;" title="Dashboard" role="presentation"><div class="xspDashboardInner">

标题在DashboardRenderer.java 第 163 行中设置。我尝试使用 xe:dashboard 上的 title 属性设置另一个标题,但这不会更改属性,而是直接打印出标题文本,如源代码第 161 行所示。我相信这是一个错误,因为渲染器使用 w.writeText(boardTitle, null); 而不是 w.writeAttribute("title", boardTitle, null);。

作为一种解决方法,您可以像这样清除标题:

$('.xspDashboard').attr("title", "")

推荐阅读