添加 href 属性后,ng-click 不适用于 Internet Explorer 中的锚标记
Posted
技术标签:
【中文标题】添加 href 属性后,ng-click 不适用于 Internet Explorer 中的锚标记【英文标题】:ng-click not working for anchor tag in internet explorer after adding href attribute 【发布时间】:2015-12-07 18:24:04 【问题描述】:我有下面的锚标记
<a class="accordion-toggle" ng-click="toggleOpen()" accordion-
transclude="heading">
并且toggleOpen函数正在按预期在ng-click上触发。但是当我将href添加到上面的锚标记中时
<a href="#" class="accordion-toggle" ng-click="toggleOpen()" accordion-
transclude="heading">
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">
我可以知道如何触发 toggleOpen(),提前谢谢。
【问题讨论】:
你能指定IE的版本并为它制作小提琴吗? 嗨 Stevar,IE 版本是 11.,我会为它摆弄它 控制台有什么错误吗? 控制台 Jai 中没有错误,我在 ie 中的调试器控制台中放置了一个断点,没有执行 href 断点,但不是 所以,当你点击锚标签时,什么都不会触发(如果你为锚标签指定链接),对吧? 【参考方案1】:您是否在应用程序中使用路由。如果你是,那么 href 会再次将你重定向到同一页面。如果您使用的是 ngroute,那么在您的 app.run 中您可以使用路由更改事件:
app.run($rootScope,function()
$rootScope.$on('$locationChangeStart', function(event, next, current)
if(next == '#' || next.indexOf('#') == -1)
event.preventDefault();
);
)
【讨论】:
嗨 Manij 感谢您的回答,在我的应用程序中我没有使用路由以上是关于添加 href 属性后,ng-click 不适用于 Internet Explorer 中的锚标记的主要内容,如果未能解决你的问题,请参考以下文章
Flot legendFormatter 不适用于 ng-click
Selenium click 不适用于 angularjs ng-click 事件