[英]Click event handler in Angular directive called twice
創建帶有點擊事件的點擊指令,但點擊兩次。
stopPropagation
無法幫助我
angular.module('dod').directive('checkbox', [function () {
var checkbox = {
restrict: 'A',
replace: false,
transclude: false,
link: function (scope, elem, attrs) {
elem.on('click', function (e) {
elem.toggleClass('checked');
});
}
};
return checkbox;
}]);
用DOM進行操作並不是一個好主意。 這不是“有角度的方式”。 由於您嘗試切換要單擊的元素,因此您可以嘗試從angularjs文檔中嘗試以下方法:
<script>
angular.module('checkboxExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.checkboxModel = {
value1 : true,
value2 : 'YES'
};
}]);
</script>
<form name="myForm" ng-controller="ExampleController">
<label>Value1:
<input type="checkbox" ng-model="checkboxModel.value1">
</label><br/>
<label>Value2:
<input type="checkbox" ng-model="checkboxModel.value2"
ng-true-value="'YES'" ng-false-value="'NO'">
</label><br/>
<tt>value1 = {{checkboxModel.value1}}</tt><br/>
<tt>value2 = {{checkboxModel.value2}}</tt><br/>
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.