1
我已經實現了一個簡單的角度材料側菜單從演示。但是這是在移動瀏覽器的整個頁面中觸發所有點擊事件2次。 你甚至可以在chrome模擬器中看到。 (在點擊chrome開發工具中的切換設備工具欄後運行此代碼段)。角度材質菜單觸發移動設備中的點擊事件2次
我在其上搜索了很多。但沒有運氣。你們能找到問題嗎?至少給我一個解決方法來單次激發所有點擊事件。
var app = angular.module('myapp', ['ngMaterial']);
app.controller('MyController', function($scope, $mdSidenav) {
$scope.isSidenavOpen = false;
$scope.openLeftMenu = function() {
$mdSidenav('left').toggle();
};
});
$(document).ready(function() {
\t $("#tst2").click(function() {console.log("hai");});
});
<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>
我現在正在做同樣的事情。但把所有東西都用在'mousedown'上肯定是一種開銷。因爲我有更多的表單,如果我使用這個,我必須手動檢查每個html5驗證。這相當困難的權利? – jafarbtech
我沒有明白你的意思,但如果你想要一個正確的方式來處理AngularJS中的點擊事件,可以使用[ngClick指令](https://docs.angularjs.org/api/ng/directive/ngClick)。這是AngularJS的方式。 – JeanJacques
'ngClick' does not help :( – jafarbtech