我有一个click事件,在该click事件中,我需要使用setTimeOut函数,原因是因为当我尝试显示叠加层时,它不会发生,但是当我将其放入函数中时,其余的函数进入超时然后工作。它是我唯一能找到的解决方案,但问题是setTimeOut无法识别click事件。如果这没有多大意义,那么希望代码能说明一切
function TurnItOn() {
$('#SiteOverlayFullScreen').css('display', 'block');
}
$(document).on('click', '#ddValidation ul li', function (e) {
TurnItOn();
let self = e;
setTimeout(function () {
let selectedItem = e.target.text;
let rightPanelWidth = $('#innerVertical').width();
$('#ddValidation ul li').removeClass('active-font-size');
//$('#SiteOverlayFullScreen').css('display', 'block');
//StartBusyIndicator('#SiteOverlayFullScreen');
switch (selectedItem) {
case 'Quote': {
//StartBusyIndicator('#SiteOverlayFullScreen');
e.currentTarget.classList.add('active-font-size');
$('#innerVertical').addClass('show-validation-window');
$('#ValidationWindow').css({ 'display': 'block', width: rightPanelWidth });
$('#btnSplitScreen').trigger('click');
CheckValidationResultsByRoomsInQuote();
//$('#SiteOverlayFullScreen').css('display', 'none');
} break;
case 'Room': {
e.currentTarget.classList.add('active-font-size');
$('#innerVertical').addClass('show-validation-window');
$('#ValidationWindow').css({ 'display': 'block', width: rightPanelWidth });
$('#btnSplitScreen').trigger('click');
CheckValidationResultsByRoomInQuote();
//$('#SiteOverlayFullScreen').css('display', 'none');
} break;
default: {
e.currentTarget.classList.add('active-font-size');
$('#ValidationWindow').css('display', 'none');
$('#innerVertical').removeClass('show-validation-window');
$('#btnSplitScreen').trigger('click');
ResetValidationErrorLabels();
//$('#SiteOverlayFullScreen').css('display', 'none');
} break;
}
});
});
在任何case语句中抛出的错误是
无法读取未定义的属性“ add”
答案 0 :(得分:-1)
尝试使用$(this)代替e.currentTarget,然后使用addClass例如。 foreach ($user->publishers as $userPublisher) {
foreach ($userPublisher->teams as $publisherTeam) {
$teamUserIds = array_merge($teamUserIds , $publisherTeam->members->pluck('id')->toarray());
}
}
$deDupedIds = array_unique($teamUserIds, SORT_NUMERIC);
$idsCount = count($deDupedIds);