2
角度コードでは、$ locationChangeStartが発生したときに検証するコードがあります。私はそれをキャンセルし、ブートストラップモーダルを表示するevent.preventDefault()を呼び出す必要があります。しかし、私はモーダルボタンを2回クリックして各ボタンアクションを有効にする必要があります。bootstrapモーダルボタンがevent.preventDefaultを使用してシングルクリックで起動しない
var skipModalInstanceCtrl = function ($scope, $uibModalInstance, $window) {
$scope.continue = function() {
$uibModalInstance.close();
$window.skipModal = true;
};
$scope.cancel = function() {
$uibModalInstance.dismiss('cancel');
$window.skipModal = false;
};
};
app.controller('SkipModalInstance', skipModalInstanceCtrl);
あなたの助け...
$scope.$on('$locationChangeStart', function (event, next, current) {
if (skipValidation.skipAllowed($scope.filteredQuestions[0])) {
//some code here
}
else {
event.preventDefault();
skipValidation.openModal();
}
});
openModal()関数...
this.openModal = function (size, locationChange) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'skipModalContent.html',
controller: 'SkipModalInstance',
size: size,
resolve: {
}
});
modalInstance.result.then(function() {
//$log.info('continue');
}, function() {
});
};
skipModalContent.html
<script type="text/ng-template" id="skipModalContent.html">
<div class="modal-header">
<h3 class="modal-title text-warning">Warnung!</h3>
</div>
<div class="modal-body">
Frage ist erforderlich, zu beantworten.
</div>
<div class="modal-footer">
<button class="btn btn-default" type="button" ng-click="continue()">mache trotzdem weiter</button>
<button class="btn btn-default" type="button" ng-click="cancel()">schließen</button>
</div>
</script>
skipModalInstanceコントローラ:以下のコードであります非常に高く評価されています。
"event.preventDefault();"を配置しようとしましたか? "skipValidation.openModal();"の後に? – Deborah
はまだ同じ問題 –