Я использую эти сценарии (где jquery-ui []. custom.js - плагин datepicker):
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.13.custom.js" type="text/javascript"></script>
<script id="formvalidation" type="text/javascript">
$(document).ready(function () {
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
});
</script>
В этом элементе ввода ( внутри формы):
<input type="text" name="Date" class="datepicker" />
Страница загружается нормально, и когда я нажимаю на поле ввода, датапикер появляется правильно, но я получаю утечку памяти (в каждом браузере), как только дата выбрана и датапикер исчезает. Это вызывает бит JS для сбоя или замедления браузера из-за утечки памяти в jquery-1.5.1.js:
Строка: 1520 Ошибка: Недостаточно памяти
При отладке я вижу, что строка ошибки находится на 2310
jQuery.event.remove( elem, type + types );
Небольшой контекст:
// Unbind all events for the element
if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
types = types || "";
for ( type in events ) {
jQuery.event.remove( elem, type + types );
}
return;
}
Я что-то делаю не так или это ошибка в jquery? Я тоже использую плагин проверки, но та же ошибка возникает, когда я его отключаю.
[Решено?] Поскольку я не могу опубликовать свой ответ в течение 8 часов:
Устранена утечка, переключившись на минимальную версию jquery (jquery-1.5.1.min.js & jquery-ui-1.8.13.custom.min.js ). Похоже, есть некоторые расхождения между минимальной версией и версией для разработчиков.
Дополнительный вопрос: где было бы хорошо поднять этот вопрос, если это еще не проблема?