Я создаю запись времени jquery в обработчике onready () и скрываю ее в другом обработчике onready () в jquery. (Причина, по которой код вызывается в двух разных обработчиках onread (), заключается в том, что запись времени создается с помощью повторно используемого средства визуализации виджетов Django и скрывается с помощью логики приложения локального экрана.)
Запись времени jquery дает критическую ошибку, если вы пытаетесь создать запись времени jquery в скрытом поле ввода. Следующий код вызовет фатальные ошибки в IE7 и Firefox. Если я скрываю () запись после ее создания, все работает нормально, но я не могу контролировать порядок двух моих обработчиков onready () (это из-за проблем с фреймворком, которые нельзя обойти.) Это ошибка в timeentry, или неопределенное поведение в браузерах? Есть ли изящный способ обойти это без специального хака, чтобы обойти проблему?
<html>
<head>
<script type="text/javascript" src="jquery_ui/jquery-1.3.js"></script>
<script type="text/javascript" src="jquery_ui/ui.core.js"></script>
<script type="text/javascript" src="jquery_time_entry/jquery.timeentry.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#id_testTimePicker').hide();
});
$(document).ready(function(){
var id = "#id_testTimePicker";
$(id).timeEntry({spinnerImage: '%sjquery_time_entry/timeEntry.png'
, timeSteps: [1, 5, 1]});
$(id).timeEntry('setTime', new Date());
});
</script>
</head>
<body>
<input id="id_testTimePicker"></input>
</body>
</html>
ОБНОВЛЕНИЕ: В приведенном выше коде это только команда "setTime", которая вызывает ошибку браузера. Если я изменю это на $ (id) .setVal (str), где str имеет правильную настройку формата времени для виджета, то все работает нормально.