Я создаю сценарий для тестирования запуска лайтбокса для отображения / скрытия с помощью динамически размещаемой кнопки CTA в разделе заголовка для клиента. Ниже приведен сценарий и функция, которую я использую для запуска показа / скрытия.
jQuery("#hero_content").append(`
<button id="get-quote"
class="bluebg whitetext contact-trigger contact-button"
role="button" title="Get a Quote"
aria-label="Get a Quote opens a dialog"
tabindex="14">Get a Quote</button>
`);
$("#get-quote").on("click touchstart", function (e){
triggerContact();
});
Сценарий вызывает открытие лайтбокса, однако для его запуска требуется более 16 секунд. получение
«Uncaught RangeError: Превышен максимальный размер стека вызовов» с 200+ кадрами, зарегистрированными под этой ошибкой.
Очевидно, что я что-то не так делаю.
Компонент лайтбокса используется в нескольких экземплярах на веб-сайте клиента и не понимает, почему triggerContact () вызывает эту ошибку при попытке использовать его для нового экземпляра, поскольку он уже существует под другой кнопкой в главном меню. - HTML фрагмент ниже.
<div tabindex="-1" role="button" class="spacebutton contact-trigger contact-button"
title="Request a Quote" aria-label="Request a Quote opens a dialog"
data-cached-aria-disabled="" aria-disabled="true" data-cached-tabindex="0"
data-inert-pointer-events="" data-ally-disabled="true"
style="pointer-events: none;">Request a Quote</div>
Я пытаюсь вызвать контактную форму через триггерный контакт () ниже, чтобы показать / скрыть, так как использование только одного класса .contact-trigger
не вызывало желаемого функциональность для новой добавленной кнопки.
function triggerContact() {
$(".contact-trigger").click();
}
HTML для наложения лайтбокса и содержимого формы также пустые теги div до тех пор, пока не будет нажата кнопка .contact-trigger
, и она будет жить в последних двух дочерних элементах тега body.
Будем весьма благодарны за любые советы и рекомендации! :)