Tooltip

#介绍

gihub地址:https://github.com/angular-ui/bootstrap/tree/0.14.3/src/tooltip

注意版本不同,使用outclick得版本大于0.14.3

代码

conroller

   // product info tip
        $scope.openedTooltip = false;
        $scope.productInfoTooltip =  function (id, ean, language) {
            if ($scope.openedTooltip != ean) {
                $scope.openedTooltip = false;
            }

            var url = '/approvalCMS/product/viewTip?shop_id=' + $scope.shopId  +
                '&product_id=' + id + '&ean='+ ean + '&language='+ language;
            $scope.productHtmlTooltip = $sce.trustAsHtml(
                '<iframe frameborder="0" onload="loadProductInfoTip()" ' +
                ' name="productInfoTip" width="' + $window.innerWidth/2 +
                '" height="' +  $window.innerHeight/2 + '" src="' + url + '"></iframe>'
            );
            $scope.openedTooltip =($scope.openedTooltip != false ? false : ean);
        };

主要引入$sce, $window

页面

 <td tooltip-is-open="openedTooltip == {{value.ean}}" tooltip-trigger="none" tooltip-placement="right" tooltip-class="product-view-tooltip"
                    uib-tooltip-html="productHtmlTooltip" tooltip-append-to-body="true"
                    ng-mouseenter="productInfoTooltip(value._id, value.ean, value.language)"
                    ng-click="productInfo(value._id, value.ean, value.language, false)"
                     style="cursor:pointer"><img ng-src="{{value.images.main_white}}" height="60px" width="60px"/></td>

问题点:当打开的是一个iframe,有滑动的,需要看完,划出才关闭.

<script>
    loadProductInfoTip = function() {
        $("iframe[name='productInfoTip']").mouseleave(function() {
            $(".product-view-tooltip .tooltip-arrow, .product-view-tooltip .tooltip-inner").hide();
        });
    };
</script>

这样写保证火狐和谷歌浏览器的兼容性.

资料

AngularJs的UI组件ui-Bootstrap分享(八)——Tooltip和Popover

angular-ui-bootstrap中,setTriggers无效

jQuery.ready() 函数详解

mouseout 事件与mouseleave 事件区别

iframe

Web前端之iframe详解

iframe高度自适应的6个方法

iframe加载完成事件

angularjs 在 iframe 里面无法正确显示 src 指定的内容

用iframe方式为页面加载完毕前显示等待提示

问题

how to detect if the iframe is fully loaded in angular

uib-tooltip-html not working

AngularJS using $sce.trustAsHtml with ng-repeat

AngularJS Error: $rootScope:infdig

angular怎么监听屏幕宽度改变

Angularjs 动态获取屏幕宽度

Last updated