2012-02-09 5 views
0

Я пытаюсь сделать div, отображающим дату, и когда ее нажимают, помещают datepicker и кнопку. Когда кнопка нажата, значение datepicker возвращается в div.JQuery UI Datepicker add/remove

This fiddle показывает в основном то, что я хочу. Однако, когда div больше не является активным div, я хочу удалить класс, обозначающий его как активный, с прокомментированной последней строкой. И при этом дампикер не будет removed at all.

Что случилось?

+0

Почему вы вызываете '.each' в этом коде? –

+0

@SamDufel Нашел какой-то фрагмент, в котором говорится, что вы убедитесь, что следующий код выполняется * после * изменения dom. – bdares

ответ

1

Проблема заключается в том, что кнопка сохранения является дочерним элементом .testdiv, поэтому событие клика на нем пузырится вверх, повторно запуская обработчик кликов .testdiv. Что происходит, так это то, что кнопка save и datepicker удаляются, а затем немедленно добавляются.

Это исправлено, добавив event.stopPropagation(); в обработчик щелчка кнопки сохранения.

Вы можете увидеть его в действии здесь: http://jsfiddle.net/Ee6ku/1/

Я добавил заявление журнала в testdiv нажмите обработчик, который вы можете увидеть получение срабатывает, если вы закомментировать event.stopPropagation(); линию.