我有一个非常奇怪的问题,来自无处,ng-click不再触发动作。
从浏览器中查看生成的内容,如下所示。我看到hg-click-active告诉了tap被考虑在内。 togglemenu()是控制器范围方法。
最后一点:这可以在Safari Mac上运行,但不适用于iPad iOS7(实际上是7.1.1)。
问题达到了两次ng-click,没有打开alert()。 ng-enter有效。
有什么想法吗?有什么路要走? p>
[编辑1] alert()是我的代码中的范围方法。我觉得这不对。有没有办法检查这个?
<nav id="navBarHome" class="ng-scope">
<table>
<tbody>
<tr>
<td class="bigmacButton toggleMenu" style="vertical-align: top; padding-top: 10px">
<div ng-click="alert('tapped'); toggleMenu()" class="ng-click-active"></div>
</td>
<td class="keynoteButton off" style="vertical-align: top;" ng-hide="getPage()=='/settings'" ng-class="{on:config.keynote, off:!config.keynote}">
<div ng-click="alert('tapped'); config.keynote=!config.keynote"></div>
</td>
<td style="width:150px">
</td>
<td style="width:40%">
<input style="width:80%" ng-model="search.keyword" size="70" type="search" results="5" placeholder="symptôme, maladie, etc." ng-enter="openPage('search')" class="ng-pristine ng-valid">
</td>
<td style="width:215px; padding-right:20px" ng-click="openPage('corporate')">
<img id="service" style="width:215px" src="rsc/home/Service.png">
</td>
</tr>
</tbody>
</table>
</nav>
答案 0 :(得分:0)
您无需向元素添加ng-click-active
。 CSS类
当元素存在时,ng-click-active
由指令设置
按住(通过鼠标点击或触摸),这样你就可以重新开始了
郁闷的元素如果你愿意。见docs
JavaScript表达式和本地函数,例如parseInt
,alert
不会在角度表达式内运行。
ng-* = "angular_expression_only"
请参阅Angular Expressions vs. JavaScript Expressions
这不会起作用:
ng-click="alert('tapped'); toggleMenu()"
这将有效:
ng-click="my()"
// in your controller
$scope.my = function() {
alert('tapped');
toggleMenu();
}