уничтожение fgelinas jquery-ui-timepicker

#jquery #timepicker #jquery-ui-timepicker

#jquery #timepicker #jquery-ui-timepicker

Вопрос:

Я использую этот инструмент выбора времени.

Проблема в том, что когда я перехожу на другую страницу, пока отображается средство выбора времени, оно все равно будет отображаться на следующем экране при загрузке. Как мне уничтожить timepicker?

Пробовал ниже, но безрезультатно.

 tp.timepicker('destroy');
tp.timepicker('remove');
tp = null;
  

Ответ №1:

Вот рабочий HTML-файл JSFIDDLE:

 <input type="text" style="width: 70px;" id="timepicker" value="" />
<input type="button" value="Destroy it !" id="destroy">
  

JS:

 $(document).ready(function(){
    $('#timepicker').timepicker();
    $('#destroy').click(function(){
       $('#timepicker').timepicker('destroy'); 
       $('#timepicker').timepicker('hide');
    });
});
  

Комментарии:

1. Как я могу увидеть, что timepicker фактически уничтожен? нажатие на поле ввода или кнопку ничего не показало.

2. Сначала нажмите на поле ввода, вы сможете увидеть timepicker. После этого нажмите на кнопку, чтобы уничтожить его. Затем снова нажмите на поле ввода. В этот раз вы не сможете увидеть timepicker, поскольку он будет уничтожен.

3. щелчок по полю ввода не показывает средство выбора времени на моем конце.

4. Щелчок означает смещение фокуса, чтобы ввести что-то в поле ввода

5. глядя на мою консоль, он возвращает 403 запрещенных при попытке доступа к файлам CSS и JS.

Ответ №2:

Это не очень хорошо документировано, но есть метод уничтожения :

 $($elem).timepicker('destroy');
  

Вызов метода destroy должен отсоединить события от входных данных и удалить большую часть того, что было установлено для timepicker.

Комментарии:

1. спасибо, что ответили на мою проблему. кстати, ваш инструмент выбора времени великолепен. моя главная проблема, по-видимому, заключается в том, что timepicker все еще отображался даже после того, как я его уничтожил. поэтому я также вызвал hide на нем после уничтожения.