我使用的是ng-click,将其应用于SPAN标签时会触发两次。
HTML
<div ng-app="regApp" ng-controller="RegistrationCtrl" data-ng-init="GetEventDetail()" ng-show="data.EventName"> <h2>Registration for {{data.EventName}}</h2> <span class="btn" id="btnSave" ng-click="PostRegistration()">Save </span> </div>
控制器
var app = angular.module('regApp', ['ui']); app.controller('RegistrationCtrl', function ($scope, $http) { $scope.PostRegistration = function () { alert('click '); <--- fires twice /// some code here -- };
它应该只发射一次。我如何找到这种情况的发生原因以及如何解决?
您提供的代码不会两次触发该事件:
http://jsfiddle.net/kNL6E/(单击Save)
Save
也许您两次包含Angular?如果执行此操作,则会收到两个警报,如下所示:
http://jsfiddle.net/kNL6E/1/