簡體   English   中英

如何停止AngularJS中的事件傳播

[英]How to stop event propagation in AngularJS

當我單擊“注冊”按鈕時,它也將轉到“登錄”按鈕的處理程序。 我已經使用$ event.stopPropagation()作為“注冊”按鈕來避免它,但是它不起作用。

編碼 -

<form role="form" ng-submit="login(userName, password)" class="form-horizontal">
    <div class="form-group">
      <label for="usrNm" class="col-sm-2 control-label">Username</label>
      <div class="col-sm-10">
        <input type="email" id="usrNm" ng-model="userName" class="form-control input-lg" placeholder="Enter email"/>
      </div>
    </div>
    <div class="form-group">
      <label for="pwd" class="col-sm-2 control-label">Password</label>
      <div class="col-sm-10">
        <input type="password" id="pwd" ng-model="password" class="form-control input-lg" placeholder="Password"/>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
        <button class="btn btn-default">LOGIN</button>
        <button class="btn" ng-click="register(); $event.stopPropagation();">SIGN UP</button>
      </div>
    </div>
  </form>

controller.js-

expmodule.controller('loginForm', function($scope, sharedProperties) {
  var auth;
$scope.login = function (userid, password) {
  auth = sharedProperties.session.isAuthenticated(userid, password);
  if (auth) {
    alert("Welcome "+userid);
    window.location = "home.html";
  } else {
    alert("Invalid Login");
  }
}
$scope.register = function () {
  window.location = "register.html";

}

});

<button>的默認行為是提交它們所屬的表單。

將代碼更改為此:

<button class="btn btn-default">LOGIN</button>
<button type="button" class="btn" ng-click="register();">SIGN UP</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM