首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“角度材料”菜单在移动设备中单击事件2次

“角度材料”菜单在移动设备中单击事件2次
EN

Stack Overflow用户
提问于 2017-06-13 13:20:53
回答 1查看 406关注 0票数 1

我已经实现了一个简单的角度材料从演示侧菜单。但是这是在移动浏览器中触发整个页面中的所有点击事件2次。,您甚至可以在铬仿真器中看到这一点。(单击铬开发工具中的“切换设备”工具栏后运行此代码段)。

我找了很多次了。但没有运气。你们能找到出什么问题了吗。至少给我一个解决办法来触发所有的点击事件一次。

代码语言:javascript
复制
var app = angular.module('myapp', ['ngMaterial']);

app.controller('MyController', function($scope, $mdSidenav) {
  $scope.isSidenavOpen = false;
    
  $scope.openLeftMenu = function() {
    $mdSidenav('left').toggle();
  };
    
});
$(document).ready(function () {
	$("#tst2").click(function () {console.log("hai");});
});
代码语言:javascript
复制
      <link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.css">
    
  
    
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
    
  
    
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
    
  
    
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>
    
  
    
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.js"></script>
    
  
    
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
  
  <div ng-app="myapp">
    <div layout="row" ng-controller="MyController">
        <md-sidenav md-component-id="left" md-is-open="isSidenavOpen" class="md-sidenav-left">
            Left Nav!
        </md-sidenav>
         <md-content>
            <md-button ng-click="openLeftMenu()">
              Open Side Nav
            </md-button>
          </md-content>
    </div>
</div>
<div id="tst2">
       text demo content sidebar left open and close text text
</div>

EN

回答 1

Stack Overflow用户

发布于 2017-06-13 14:32:08

将您的click事件替换为事件mousedown,因为显然click事件被移动设备支持的两个事件touchstartmousedown替换(更多信息请参见本期 )。

代码语言:javascript
复制
var app = angular.module('myapp', ['ngMaterial']);

app.controller('MyController', function($scope, $mdSidenav) {
  $scope.isSidenavOpen = false;

  $scope.openLeftMenu = function() {
    $mdSidenav('left').toggle();
  };

});
$(document).ready(function() {
  $("#tst2").mousedown(function() {
    console.log("hai");
  });
});
代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angular_material/0.8.3/angular-material.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div ng-app="myapp">
  <div layout="row" ng-controller="MyController">
    <md-sidenav md-component-id="left" md-is-open="isSidenavOpen" class="md-sidenav-left">
      Left Nav!
    </md-sidenav>
    <md-content>
      <md-button ng-click="openLeftMenu()">
        Open Side Nav
      </md-button>
    </md-content>
  </div>
</div>
<div id="tst2">
  text demo content sidebar left open and close text text
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44522782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档