htmページに、AngularJsを使用する列を含むテーブルがあります。
列のテキストが8文字を超える場合は、テキストをツールチップに入れたい
これは私のコラムです:
<td>
<i class="column3">
{{stoneEntity.StoneProperties.StockId}}
</i>
</td>
htmページに、AngularJsを使用する列を含むテーブルがあります。
列のテキストが8文字を超える場合は、テキストをツールチップに入れたい
これは私のコラムです:
<td>
<i class="column3">
{{stoneEntity.StoneProperties.StockId}}
</i>
</td>
次のようなディレクティブを使用します。
app.directive('showTooltip', function() {
var MAX_SIZE = 8;
return {
restrict: 'A',
scope: { label: '=showTooltip' },
link: function (scope, element, attrs) {
if ((scope.label || '').length > MAX_SIZE) {
element.text(scope.label.substring(0, MAX_SIZE));
element.attr('title', scope.label);
} else {
element.text(scope.label);
}
}
}
});
注: 簡単にするために、MAX_SIZE
はディレクティブ内で定義されていますが、変更して最大サイズをパラメーターとして受け取ることができます。
jsFiddle : http://jsfiddle.net/bmleite/h5Np6/