Всплывающее окно начальной загрузки rails перестает работать, когда форма имеет ошибки проверки

avatar
random_user_0891
1 июля 2021 в 15:45
39
1
0

Я использую Rails 6 с использованием Bootstrap 5. У меня есть форма, которая использует всплывающие окна начальной загрузки, когда в форме есть ошибки, проверка Rails предотвратит ее отправку, а всплывающие окна больше не работают при наличии ошибок проверки. Я пробовал тестировать с помощью jQuery и получил те же результаты.

Я знаю, что это связано с тем, что я вызываю $(function(){ .... } и document.addEventListener("DOMContentLoaded", function(event) { ... }, которые мне нужны для того, чтобы всплывающие окна инициализировались и работали при загрузке формы. Но я не уверен, как снова отобразить всплывающее окно, если в форме есть ошибки.

import * as bootstrap from 'bootstrap'

// bootstrap popover's
document.addEventListener("DOMContentLoaded", function(event) {
  var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
  var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
    return new bootstrap.Popover(popoverTriggerEl)
  })
});

тест jQuery, который также работает только до тех пор, пока форма не будет отправлена ​​с ошибками.

$(function(){
  $("p").hover(function(){
    $(this).css("background-color", "red");
    }, function(){
    $(this).css("background-color", "blue");
  });
});
Источник

Ответы (1)

avatar
Rajdeep Singh
1 июля 2021 в 16:01
1

Это похоже на проблему с привязкой, попробуйте привязать событие с помощью body

$("body").on("hover", "p", function(){
  // remaining code
});