0

htmページに、AngularJsを使用する列を含むテーブルがあります。

列のテキストが8文字を超える場合は、テキストをツールチップに入れたい

これは私のコラムです:

<td>
<i class="column3">
    {{stoneEntity.StoneProperties.StockId}}
</i>
</td>
4

1 に答える 1

3

次のようなディレクティブを使用します。

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/

于 2013-01-28T13:59:30.423 に答える