Javascript 避免显示剑道提示

Javascript 避免显示剑道提示,javascript,kendo-ui,tooltip,Javascript,Kendo Ui,Tooltip,以下是我的工具提示定义: var toolTip = $('.static_grid_wrapper').kendoTooltip({ filter: "tr[role=row]", position: "top", content: function (e) { var target = e.target; var tooltipMessage = "<table>"; var a = $(target).

以下是我的工具提示定义:

var toolTip = $('.static_grid_wrapper').kendoTooltip({
    filter: "tr[role=row]",
    position: "top",
    content: function (e) {
        var target = e.target; 
        var tooltipMessage = "<table>";

        var a = $(target).data("A");
        if (defined(alpari)) {
            tooltipMessage += "<tr><td>A</td><td>" + a + "</td></tr>";
        }
        else {
            tooltipMessage += "<tr><td>A</td><td>NA</td></tr>";
        }

        var l = $(target).data("L");
        if (defined(l)) {
            tooltipMessage += "<tr><td>L</td><td>" + l + "</td></tr>";
        }
        else {
            tooltipMessage += "<tr><td>L</td><td>NA</td></tr>";
        }

        var s = $(target).data("S");
        if (defined(s)) {
            tooltipMessage += "<tr><td>S</td><td>" + s + "</td></tr>";
        }
        else {
            tooltipMessage += "<tr><td>S</td><td>NA</td></tr>";
        }

        var g = $(target).data("G");
        if (defined(g)) {
            tooltipMessage += "<tr><td>G</td><td>" + g + "</td></tr>";
        }
        else {
            tooltipMessage += "<tr><td>G</td><td>NA</td></tr>";
        }

        tooltipMessage += "</table>";
        return tooltipMessage;
    },
    show: function (e) {

    }
}).data("kendoTooltip");
var toolTip=$('.static\u grid\u wrapper')。kendoTooltip({
过滤器:“tr[role=row]”,
位置:“顶部”,
内容:职能(e){
var目标=e.target;
var tooltipMessage=“”;
var a=$(目标)。数据(“a”);
如果(定义(阿尔帕里)){
ToolTimpMessage+=“A”+A+”;
}
否则{
ToolTimpMessage+=“ANA”;
}
var l=$(目标)。数据(“l”);
如果(定义(l)){
ToolTimpMessage+=“L”+L+”;
}
否则{
ToolTimpMessage+=“LNA”;
}
var s=$(目标)。数据(“s”);
如果(定义){
ToolTimpMessage+=“S”+S+”;
}
否则{
ToolTimpMessage+=“SNA”;
}
var g=$(目标).data(“g”);
如果(定义(g)){
ToolTimpMessage+=“G”+G+”;
}
否则{
ToolTimpMessage+=“GNA”;
}
ToolTimpMessage+=“”;
返回工具提示消息;
},
显示:功能(e){
}
}).数据(“kendoTooltip”);

如果“a”或“l”或“s”或“g”未定义,我不想显示工具提示。但是我找不到必须调用的方法。

目前似乎没有指定的方法来执行此操作。 这里类似的内容可能会在您的内容方法中起作用:

// if a or l undefined, don't show the popup ...
if (!a || !l) {
    // replace the popup that was created with a stub so _show doesn't break
    toolTip.popup = {
        open: function() {},
        one: function() {},
        options: {}
    };

    // delete the popup stub
    setTimeout(function () {
        toolTip.popup = null;
    }, 5);
}

(请参阅:第三列上有一个工具提示,每第二行都会隐藏它)

感谢@Lars提供的示例。它似乎适用于2013.2.918版。但我使用的是v2013.3.1119,它未定义表达式“toolTip.popup”。在这个版本中,对象模型似乎发生了变化。你对同一任务的新版本有什么想法吗?使用2013.3.1119-它似乎没有改变就可以工作。我将表达式更改为“var open=e.sender.popup.open”;它也适用于我的案例。谢谢你的帮助。不幸的是,这不是一个可靠的解决方案。下面是一个场景:将鼠标放在网格的标题上。轻轻地将鼠标放在第一行。正如预期的那样,我们没有看到第一行的工具提示。现在,将鼠标放在第二行,然后再次按预期看到工具提示。现在将鼠标推回网格标题,再次进入第一行。这是第一行的工具提示:/@anilca是的,这就是那些黑客的问题-我用一种不同的方式编辑了它,这似乎很有效