简体   繁体   English

添加href属性后,ng-click在Internet Explorer中不适用于锚标记

[英]ng-click not working for anchor tag in internet explorer after adding href attribute

I have below anchor tag 我在锚标签下方

    <a class="accordion-toggle" ng-click="toggleOpen()" accordion-      
    transclude="heading"> 

and toggleOpen function is getting triggered on ng-click as expected.However when I add href to the above anchor tag as 并按预期在ng-click上触发toggleOpen函数。但是,当我将href添加为

    <a href="#" class="accordion-toggle" ng-click="toggleOpen()" accordion-      
    transclude="heading">

toggleOpen() function is not getting triggered,even I tried the below combinations: toggleOpen()函数不会被触发,即使我尝试了以下组合:

   1) <a href="#" class="accordion-toggle" ng-click="$event.preventDefault(); $event.stopPropagation(); toggleOpen()" accordion-      
    transclude="heading">

   2)<a href="" class="accordion-toggle" ng-click="$event.preventDefault(); $event.stopPropagation(); toggleOpen()" accordion-      
    transclude="heading">

   3)<a ng-href="#" class="accordion-toggle" ng-click="$event.preventDefault(); $event.stopPropagation(); toggleOpen()" accordion-      
    transclude="heading">

May I know how we can make toggleOpen() get triggered, thanks in advance. 我想知道如何才能触发toggleOpen(),谢谢。

Are you using routes in your application. 您在应用程序中使用路由吗? If you are then href will redirect you to same page again . 如果您是href,则将再次将您重定向到同一页面。 if you are using ngroute then in your app.run you can use route change event: 如果您使用的是ngroute,则可以在app.run中使用route change事件:

app.run($rootScope,function(){
     $rootScope.$on('$locationChangeStart', function(event, next, current) {
                  if(next == '#' || next.indexOf('#') == -1) {

                   event.preventDefault();
                   }
});

}) })

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM