gpt4 book ai didi

javascript - AngularJS Bootstrap 模式在完整日历事件 onclick 上卡住

转载 作者:行者123 更新时间:2023-11-28 03:59:37 26 4
gpt4 key购买 nike

我有一个非常奇怪的错误。每当我点击完整日历上的一个事件时,都会出现一个模式,除非它在打开之前卡住整个页面。

frozen modal

在上面的链接中,顶部的灰色细线是模式。

Bootstrap Modal popping up but has a "tinted" page and can't interact

我尝试了以下解决方案,但它似乎对我的情况没有什么影响。任何人都可以建议修复/之前遇到过类似的问题吗?

directive.js

myApp.directive('msResourceCalendarDirective', function ($window, $timeout, $http) {
return {
restrict: 'AE',
templateUrl: '/client/resourceCalendarDirective/view.html?v=1',
controller: function($scope, $element, $attrs, $uibModal) {

var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();


// Open modal from modal
$scope.alertOnEventClick = function (eventObj) {
console.log('Opening modal...');
var modalInstance = $uibModal.open({
animation: true,
templateUrl: '/client/resourceCalendarDirective/modal.html',
backdrop: false,
keyboard: true,
resolve: {
event: function () {
return eventObj;
}
}
});

// Scope apply here to make modal show up
$scope.$evalAsync(function() {
modalInstance.result.then(
function (event) {
console.log('Modal closed at: ' + new Date());
console.log(event);
//$scope.events.push(event);
},
function () {
console.log('Modal dismissed at: ' + new Date());
}
);
});

};


// empty array of events
$scope.events = [];

$scope.myevents = function(start, end, timezone, callback) {
$http.get('/api/v1/sample').then(function(response) {

//var events = [];
angular.forEach(response.data, function(event,key){
$scope.events.push({
id: event._id,
title: event.title,
start: event.startDateTime,
end: event.endDateTime
});
});
callback($scope.events);
});
};



/* config calendar object */
$scope.uiConfig = {
calendar: {
height: 650,
editable: true,
header: {
left: 'month basicWeek basicDay',
center: 'title',
right: 'today prev, next'
},
eventClick: $scope.alertOnEventClick
// eventDrop: $scope.alertOnDrop,
// eventResize: $scope.alertOnSize
}
};

// linking event array to calendar to be displayed
$scope.eventSources = [$scope.myevents];

}
}
});

modal.html

<!-- Update Modal -->
<div class="modal" id="calendarModal.html" >
<div class="modal-dialog">
<div class="modal-content" >
<div class="modal-header">
<h3>Edit Resource</h3>
</div>
<div class="modal-body">
<div class="form-group row">
<div class="col-xs-6">
<label for="resourceTitle">Title</label>
<input id="resourceTitle" class="form-control" type="text" name="title" ng-model="sample.title">
</div>
</div>
<div class="form-group">
<ms-date-time-picker ng-model="sample.startDateTime" placeholder="From" id="dateFrom"></ms-date-time-picker>
</div>
<div class="form-group">
<ms-date-time-picker ng-model="sample.endDateTime" placeholder="To" id="dateTo"></ms-date-time-picker>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="updateResource()" >Update Resource</button>
<button class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

最佳答案

也许你应该尝试增加模态的 z-index 属性?尝试一下

<div class="modal-dialog" id="my-modal">

然后从解决:

event: function () {
return eventObj;
}
showModal: () {
setTimeout(function () {
$('#my-modal').parent().css('z-index', '10000')
}, 5000);
}

肮脏的解决方案,但可能是您的情况的解决方案。添加超时是为了允许渲染的所有内容 (#my-modal) 必须初始化且可见。

关于javascript - AngularJS Bootstrap 模式在完整日历事件 onclick 上卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47234962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com