angularjs笔记
  • Introduction
  • 依赖注入
  • 作用域
  • 数据绑定
    • 控制器->模板->控制器->模板
  • 多个控制器
  • $scope对象
    • $apply方法、$digest方法
    • $watch方法
    • 示例:购物车
  • 模块和控制器
  • $provide对象的provider、factory、service方法
    • 多个控制器内共享数据
  • 过滤器(Filters)
    • number、currency、date
    • limitTo、lowercase、uppercase
    • filter、orderBy、json
    • 示例:产品列表
    • 自定义过滤器
  • 控制器(controller)
    • 显式和隐式依赖注入
  • 指令
    • Angular 内置指令
    • Angular 自定义指令
      • restrict、template、replace属性
      • templateUrl属性
      • transclude、priority、terminal属性
      • compile && link属性
      • controller && controllAs属性
      • require属性
      • scope属性
  • Module里其他方法
    • constant、value、run方法
  • Form表单
    • 示例:注册页
  • XHR和服务器端的通信
    • $http
  • JavaScript基础
    • .isFunction是否为函数
  • 资料链接
  • 功能组件
    • Tooltip
    • CSV
  • 其他
    • $watchCollection
    • $controller 继承
    • 两个对象合并
    • 页面关闭
    • AngularJs 时间格式化处理
    • 数据的本地存储
    • 页面的URL
Powered by GitBook
On this page
  • #介绍
  • 资料

Was this helpful?

  1. 功能组件

Tooltip

Previous功能组件NextCSV

Last updated 5 years ago

Was this helpful?

#介绍

gihub地址:

注意版本不同,使用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>

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

资料

iframe

问题

https://github.com/angular-ui/bootstrap/tree/0.14.3/src/tooltip
AngularJs的UI组件ui-Bootstrap分享(八)——Tooltip和Popover
angular-ui-bootstrap中,setTriggers无效
jQuery.ready() 函数详解
mouseout 事件与mouseleave 事件区别
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 动态获取屏幕宽度