Как подключить jQuery глобальный обработчик событий для HTML5 проверки ограничения даты? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть html5 элемент управления датой с минимальным / максимальным ограничением, как показано ниже.

<input class="testclass" type="date" min="2020-02-01" max="2020-03-01"/>

Элемент управления иногда может быть загружен через ajax, и могут быть случаи, когда их несколько элементы управления на форме. Я намерен перехватить недопустимое состояние при отправке, чтобы я мог отобразить ошибку таким образом, чтобы он был более согласован с остальными сообщениями об ошибках в формах.

Вышеописанное работает отлично, если я напрямую подключаю прослушиватель событий к указанному c элементу управления. Однако, поскольку он может быть загружен ajax, может появляться несколько раз, и я не знаю идентификаторы заранее; Я действительно хочу подключить его на уровне документа, используя что-то похожее на следующее:

  $(document).on("invalid", ".testclass", function (evt) {
    //Do stuff
  });

Но если оно недопустимо, оно не попадет (оно недопустимо, и сообщение по умолчанию показывает et c). Однако событие ввода, если оно подключено таким же образом, срабатывает, как ожидалось Я просто не вижу, что я делаю не так. Я включил скрипку для тех, кто хочет ее увидеть.

https://jsfiddle.net/thnderchild/dzm1sgvc/13/

1 Ответ

0 голосов
/ 21 февраля 2020

Хорошо, поэтому я наконец нашел ответ, что недействительное событие просто не всплывает, поэтому глобальный обработчик события никогда не получает событие.

У меня сложилось впечатление, что все события вспыхнули.

Какие jQuery события не всплывают?

Так что, если мы используем это как элемент управления, который добавляется в dom через ajax - мы должны связать / перепривязать событие.

...