首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击AngularJS -单击父级中任何位置的事件(在指令中)触发

单击AngularJS -单击父级中任何位置的事件(在指令中)触发
EN

Stack Overflow用户
提问于 2015-05-29 19:48:09
回答 1查看 529关注 0票数 4

我要尽我最大的努力来解释我的问题--容忍我。

这整件事是文件选择的指令:

该指令有一个ng转换组件,它包含一些指令,包含在它们自己的div中。

家长指令:

代码语言:javascript
复制
<div class="extra-cells">
    <div ng-transclude class="extra-cells-row"></div>
</div>

ng-过渡内容:

代码语言:javascript
复制
<div file-upload-directive>
     <div bo-if="config.drive">
         <div google-picker>
             <div>Google Drive</div>
         </div>
     </div>

     <div bo-if="config.dropbox">
         <div dropbox-chooser>
             <div>Dropbox</div>
         </div>
     </div>

     <div bo-if="config.link">
         <div ng-click="selectLink()">
             <div>Paste a link</div>
         </div>
     </div>
</div>

ng-翻译内容(视觉):

当我单击突出显示部分中的任何位置时,“违规(dropbox)”指令中的“单击事件”会触发。

代码语言:javascript
复制
dropboxChooserModule.directive('dropboxChooser', function(dropboxChooserService) {
  return {
    priority: 1,
    restrict: 'EA',
    transclude: true,
    scope: {
      widget: '=',
      options: '=',
      extensions: '=',
    },
    template: '<div class="">' +
      '<div ng-transclude></div>' +
      '<input type="dropbox-chooser" name="selected-file"/></div>',
    link: function postLink(scope, element, attrs) {
      element.bind("click", function(event) {
        dropboxChooserService.choose({
          success: function(files) {},
          cancel: function() {}
        })
      });
    },
    replace: true
  };
});

问题是,很自然,是什么导致了它的触发,以及我如何使它停止。只有当单击带有dropbox指令的元素时,它才会触发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 20:33:02

删除指令中的输入元素似乎“修复”了问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30537940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档