Javascript 单击在AngularJS模块中触发两次
我有以下html:Javascript 单击在AngularJS模块中触发两次,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有以下html: <div ng-repeat="email in user.emails" class="form-group"> <label for="inputEmail_{{$index+1}}" class="col-lg-2 control-label">Email {{$index+1}}</label> <div class="col-lg-8 col-xs-11">
<div ng-repeat="email in user.emails" class="form-group">
<label for="inputEmail_{{$index+1}}" class="col-lg-2 control-label">Email {{$index+1}}</label>
<div class="col-lg-8 col-xs-11">
<input type="email" class="form-control" id="inputEmail_{{$index+1}}" name="inputEmail_{{$index+1}}" placeholder="Email" required>
</div>
<div ng-if="$index == 0" class="col-lg-1 col-xs-1">
<button type="button" class="btn btn-info addEmailBtn" ng-click="addEmailInput()">
<i class="fa fa-plus"></i>
</button>
</div>
<div ng-if="$index != 0" class="col-lg-1 col-xs-1">
<button type="button" class="btn btn-danger" ng-click="removeEmailInput($index)">
<i class="fa fa-trash"></i>
</button>
</div>
</div>
由于某些原因,有时当我单击.addEmailBtn
时,click事件被触发两次,因此我得到两个新元素,而不是一个
编辑您可以在此处重现问题:
您是否包括jquery mobile?也许你正在试验幻影点击bug@MarcosPérezGude不,我没有jquery mobile。你能重新编程plnkr或其他东西吗?所以问题似乎出在
推送中。请尝试以下操作:scope.user.emails={emailValue:”“}代码>我觉得这个代码很好
module.controller('NewContactCtrl',
function EditProfileController($scope) {
$scope.user = {
emails: [
{ emailValue: "" }
]
};
$scope.addEmailInput = function () {
$scope.user.emails.push({ emailValue: "" });
};
$scope.removeEmailInput = function (index) {
$scope.user.emails.splice(index, 1);
};
});