完成在角度js中滚动iframe后启用按钮

时间:2015-03-02 14:54:04

标签: angularjs iframe angularjs-directive angularjs-scope

我想在iframe完全滚动后启用主页面上的按钮。这确认用户已经看到了iframe的完整内容。 因此,我试图将一个滚动事件附加到iframe,一旦scrollTop达到iframe的高度,我想将一些变量设置为true $scope.scrolled = true;,这将启用“我同意”和“我拒绝”。以下是我的指示:

app.directive("scroll", function ($window) {
        var linkFn = function(scope, element, attrs) {
        element.find('iframe').bind('load', function (event) {
          event.target.contentWindow.scrollTo(0,400);
          alert(event.target);
          if(event.target.contentWindow.scrollTop >= 550){
             $scope.scrolled = true;
          }
        });
    };
    return {
      restrict: 'E',
      scope: true,
      template: '<iframe class="frame" height="550" width="100%" frameborder="0" border="0" marginwidth="0" marginheight="0" src="{{tncURL}}"></iframe><div class="panel-footer button-bar"><button id="accept" ng-click="acceptTnc(user)" class="btn btn-success inline" ng-disabled="!{{scrolled}}">I Agree</button><button id="decline" ng-click="declineTnc()" class="btn btn-warning inline" ng-disabled="!{{scrolled}}">I Decline</button></div>'
    };
  });

不幸的是我无法将滚动事件绑定到iframe,有什么方法可以解决这个问题吗?

plunker链接:http://plnkr.co/edit/IJBWRNwPp6V7Xi6A1i0H?p=preview

0 个答案:

没有答案