我有一個產品array.it由名稱,價格,數量。我使用limitTo當名稱長度達到20時。 當鼠標懸停在產品上時,如何顯示全名請收藏我?顯示懸停時的全名limitTo內容使用angularjs?
<p class="hover">{{ item.name| limitTo: 20 }}{{item.name.length > 20 ? '...' : ''}}<p/>
我有一個產品array.it由名稱,價格,數量。我使用limitTo當名稱長度達到20時。 當鼠標懸停在產品上時,如何顯示全名請收藏我?顯示懸停時的全名limitTo內容使用angularjs?
<p class="hover">{{ item.name| limitTo: 20 }}{{item.name.length > 20 ? '...' : ''}}<p/>
可以使用title
財產
<p class="hover" title="{{item.name}}">
,或者如果你使用什麼角度它並沒有提示
angular.module('app', [])
.controller('myController', function($scope) {
$scope.myText = "some very very very very very long text";
})
.directive('hoverText', function() {
return {
restrict: 'A',
scope: {
hoverText: '=',
maxChars: '='
},
link: function (scope, element) {
element.text(scope.hoverText.substr(0, scope.maxChars) + '...')
element.on('mouseenter', function() {
element.text(scope.hoverText);
});
element.on('mouseleave', function() {
element.text(scope.hoverText.substr(0, scope.maxChars) + '...');
});
}
};
})
p
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="myController">
<p hover-text="myText" max-chars="20">
</p>
</div>
你可以做些什麼如下所示。
標記
<p class="hover" ng-mouseenter="limit=item.name.length" ng-mouseleave="limit=20">
{{ item.name| limitTo: limit }}<span ng-bind="limit > 20 ? '...' : ''"></span>
<p/>
控制器
$scope.limit = 20;
雖然我建議你看看CSS選項,你可以使用text-overflow: elipsis
和overflow: hidden
來實現相同。你可以參考this link來實現相同的
這是顯示工具提示。但不希望工具tip.expand在同一個地方。 – SrinivasAppQube
好的,我添加了一個替代指令,我推薦指令方法,因爲它可以在你的代碼中重用+如果你的產品使用mouseenter標誌的循環,並且離開會觸發所有的!除非你使它成爲產品本身的一個屬性 – WalksAway
更好的方法是使用'ui-bootstrap'的'uib-popover' .. –