离子在右键单击和中键单击时触发不需要的 ng-click

Posted

技术标签:

【中文标题】离子在右键单击和中键单击时触发不需要的 ng-click【英文标题】:Ionic triggers unwanted ng-click on right click and middle click 【发布时间】:2017-04-07 03:34:28 【问题描述】:

出于一些非常奇怪的原因,我在最新的 Chrome 版本中使用 Ionic 和 Chrome 金丝雀 右键单击 导致 ng-click 触发。

Code Pen demonstrating the issue

任何人都可以解释一下吗?

【问题讨论】:

我从来没有见过这样的...... 真的很奇怪,当你在IE控制台中查看事件时有两个事件,一个是PointerEvent,你可以检测到which鼠标按钮被点击。在 Chome 中,只有一个 MouseEvent,其中 which 属性总是 = 1(左键单击) Ionic 是一个用于创建移动应用程序的框架。当您在手机上使用应用程序时,没有左键或右键单击,只有轻点。因此,将左右单击视为相同可能是一个设计决策。 添加这个 data-tap-disabled="true" 或者在 ng-click 上使用 on-tap 【参考方案1】:

以此来改变你的 Button 标签,

 <button type="button" class="button button-large button-energized" ng-click="test()">click me!!!</button>

或者

&lt;button type="button" class="button button-large button-energized" ng-click="test($event)"&gt;click me!!!&lt;/button&gt;

在你的控制器上:

$scope.test = function($event)$event.preventDefault();alert(1);

希望这会有所帮助。

【讨论】:

以上是关于离子在右键单击和中键单击时触发不需要的 ng-click的主要内容,如果未能解决你的问题,请参考以下文章

onmousemove 仅在右键单击时触发

谜一样的shift和中键

Eclipse插件:在右键单击弹出菜单中添加了新项,如何确定文件名/路径?

使用 JavaScript 如何禁用右键单击或单击滚动条时如何在右键单击窗口中删除检查元素选项

Visual Studio 2013 在右键单击时挂起

我想在右键单击时制作 oncontextmenu 事件