【问题标题】:Why toggle effect not working for nested div using angular Directive为什么切换效果不适用于使用角度指令的嵌套 div
【发布时间】:2016-05-04 17:16:43
【问题描述】:

我已附上Plunker。我无法访问 .gc.mc 元素。虽然我的代码部分工作并且.bc 类按预期工作。我正在尝试对它们和层次结构应用切换效果

BroadCategory > GeneralCategory > MainCategory

不知道我错过了什么

$(element).find('.gc').click( function() {
    alert('GC');
    $(element).find(".mc").slideToggle('200',function() {  
       $(element).find("span").toggleClass('faqPlus faqMinus');
    });
 });

【问题讨论】:

    标签: javascript jquery angularjs angular-directive


    【解决方案1】:

    当 Angular 链接 BroadCategory div 时,尚未创建 GeneralCategory (ng-repeat) 元素。所以永远不会添加点击处理程序。 将 d-expand-collapse 属性添加到 .gc 元素。然后,您应该会看到您的点击警报触发。

    <div d-expand-collapse ng-repeat="gen in group.items">
    

    【讨论】:

      【解决方案2】:

      在创建.gc 元素的ng-repeat 之前调用您的函数。一个快速的解决方法是将函数包装在超时中以让它完成渲染。我确信有更好的方法使用一些角度钩子,但这会完成你想要的。

      setTimeout(function () {
        $(element).find('.gc').click( function() {
          alert('GC');
          $(element).find(".mc").slideToggle('200',function() {  
            $(element).find("span").toggleClass('faqPlus faqMinus');
          });
        });
      });
      

      【讨论】:

        猜你喜欢
        • 2020-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多