2017-10-17 104 views
1

我有一个Kendo UI中的工具提示,我试图根据列名过滤单元格,因为标准td:nthchild不起作用(用户可以移动列)。我想根据是否有人悬停在我的列名称的细胞上来使用工具提示。我如何在过滤器领域实现这一目标?或者我应该在演出中做到这一点?在Kendo中过滤工具提示

this.$el.kendoTooltip({ 
      filter: "th:contains('MY COLUMN NAME')", 
      show: function (e) { 
       if (this.content.text().length > 0) { 
        this.content.parent().css("visibility", "visible"); 
       } 
      }, 
      hide: function(e) { 
       this.content.parent().css("visibility", "hidden"); 
      }, 
      content: function (e) { 

       var target = e.target; 
       return $(target).siblings().first().text(); 
      } 
     }); 

回答

0

是这样的?

this.$el.kendoTooltip({ 
    filter: "thead th:contains('ColumnA')" 
}); 

Demo

UPDATE

当你想显示基于列的标题行单元格的提示,则不能使用filter参数是,它的目的是仅用于过滤目标元素,而不是您的情况。您将需要一些编程有,例如:

show: function(e) { 
    let index = this.target().index(), // Get hovered element's column index 
     columns = grid.getOptions().columns, // Get grid's columns 
     column = columns[index]; // Get current column 

    // If target TD is not under 'ColumnA', prevent tooltip from being showed 
    if (column.title != "ColumnA") { 
     this.hide(); 
    } 
} 

Demo

感谢剑道,你不能防止自己的事件,所以使用hide()的作品,但提示是隐藏之前仍然打开闪烁再次,它有可能赶上开放。尝试使用e.preventDefault()return false,这将合理的方式说“取消显示”,但没有运气的小部件。这是我能做的最好的。

+0

不太好,在那段代码中,我希望当有人在Column1中悬停“1”时,会有一个工具提示在该单元格上弹出。 – KillerSmalls

+0

@KillerSmalls检查更新。 – DontVoteMeDown

+1

谢谢!用一点CSS,我能够摆脱闪烁的 – KillerSmalls