2017-10-17 10 views
1

標準のtd:nthchildが機能しない(ユーザーが列を動かすことができる)ので、私は剣道のUIにツールチップを持っています。私は誰かが私の列の名前の上に横たわっているかどうかに基づいてツールチップに従事したい。フィルターフィールドでどのように達成できますか?または私はショーの機能でそれを行う必要がありますか?剣道のツールヒント

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

このようにしますか?あなたは、列のタイトルに基づいて行のセルにツールチップを表示するとして、あなたはそのためfilterパラメータを使用することはできません

UPDATEが、それが意味する

Demo

this.$el.kendoTooltip({ 
    filter: "thead th:contains('ColumnA')" 
}); 
あなたの場合ではないターゲット要素だけをフィルタリングするために使用されます。あなたが例えば、そこにいくつかのプログラミングが必要になります:剣道へ

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 check update。 – DontVoteMeDown

+1

ありがとう!少しCSSで、私はちらつきを取り除くことができました – KillerSmalls

関連する問題