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是的,这就是那些黑客的问题-我用一种不同的方式编辑了它,这似乎很有效