Я слышал все эти замечательные впечатления от того, насколько велика и изящна jQuery, но я для 2 попытки реализовать элементы управления jQuery в реальных проектах из-за низкой производительности. На этот раз я столкнулся с аналогичной проблемой, как Richard. В jQuery UI DatePicker не удалось выполнить тестирование приёма пользователей в приложении ASP.NET, над которым я работаю, потому что при вводе текста в текстовое поле происходит определенное отставание при вводе последних двух чисел. (например, '1/1/20 ').
Кто-нибудь знает о параметре/подходе, который остановит пользовательский интерфейс jQuery от вмешательства пользователя в текстовое поле, к которому он привязан?jQuery UI Datepicker Slow во время ввода
ответ
У меня была такая же проблема в IE 6. Я использовал инструмент производительности (DynaTrace Ajax Edition), чтобы узнать, где находится отставание, и нашел его в функции даты обновления, выполненной в событии keyup. Итак, моя работа заключалась в деактивации события keyup.
$("#idOfTheInput").unbind("keyup");
EDIT: Существует недостаток делать это. При вводе вручную даты датапикер не будет обновляться.
Итак, другой (? Лучше) решение, чтобы показать выбора даты только тогда, когда пользователь нажимает на маленькую кнопку с опцией showOn: 'button'
(подробнее здесь: http://jqueryui.com/demos/datepicker/#icon-trigger)
Затем измените код Datepicker JQuery для обновите дату только в том случае, если отображается выбор даты. Для этого найдите функцию _doKeyUp
и добавьте условие, в котором говорится: «Если вы выбрали дату, сделайте свое обновление, иначе не обновляйтесь».
_doKeyUp: function(event) {
var inst = $.datepicker._getInst(event.target);
if ($.datepicker._datepickerShowing) {
if (inst.input.val() != inst.lastVal) {
try {
var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),
(inst.input ? inst.input.val() : null),
$.datepicker._getFormatConfig(inst));
if (date) { // only if valid
$.datepicker._setDateFromField(inst);
$.datepicker._updateAlternate(inst);
$.datepicker._updateDatepicker(inst);
}
}
catch (event) {
$.datepicker.log(event);
}
}
}
return true;
},
Конечно, это немного противно, чтобы изменить код плагина ...
Удивительный, не могли бы вы поделиться с вами инструментом, который вы использовали? Я не могу дождаться теста это на следующей неделе. – Sephrial
Я использовал DynaTrace Ajax. В основном, это программное обеспечение отслеживает все между вами и сервером: сеть, кеш, javascript и Ajax. Я не люблю рекламировать, но это потрясающая программа. Очень полезно. – Jason
So , @Sephrial, вы пробовали это? Работает ли нормально? – Jason
Чтобы расширить то, что сказал Джейсон, вы можете переопределить метод вне файла базы Ui, делая это
jQuery(function(){
jQuery.datepicker._doKeyUp = function(event) {
var inst = jQuery.datepicker._getInst(event.target);
if(jQuery.datepicker._datepickerShowing) {
if(inst.input.val() != inst.lastVal) {
try {
var date = jQuery.datepicker.parseDate(jQuery.datepicker._get(inst, 'dateFormat'),
(inst.input ? inst.input.val() : null),
jQuery.datepicker._getFormatConfig(inst));
if(date) { // only if valid
jQuery.datepicker._setDateFromField(inst);
jQuery.datepicker._updateAlternate(inst);
jQuery.datepicker._updateDatepicker(inst);
}
}
catch (event) {
jQuery.datepicker.log(event);
}
}
}
return true;
}
});
.......
Спасибо Кристиану. Более удобный (и менее грязный!) способ изменить функцию. +1 – Jason
- 1. jQuery UI Datepicker Range
- 2. rails jquery ui datepicker
- 3. jQuery UI Datepicker onВыбрать ясное значение ввода
- 4. JQuery-UI DatePicker: несколько поле ввода зеркального
- 5. JQuery UI Dialog slow
- 6. jQuery UI datepicker issues
- 7. JQuery UI datepicker defaulDate
- 8. JQuery UI datepicker minDate
- 9. jQuery UI Datepicker
- 10. JQuery UI DatePicker вопрос
- 11. jquery ui #datepicker call бесконечное время
- 12. jQuery Datepicker UI Tooltip
- 13. Datepicker jquery ui-datepicker-trigger
- 14. Пытается проверить jQuery UI Datepicker
- 15. JQuery UI - Datepicker onChangeMonthYear
- 16. jquery UI datepicker дата сброса
- 17. JQuery UI Datepicker
- 18. JQuery UI: datepicker
- 19. Magento Jquery UI DatePicker
- 20. JQuery Datepicker UI transparent
- 21. jQuery UI datepicker performance
- 22. jQuery UI DatePicker theme
- 23. Jquery UI Datepicker
- 24. jQuery-UI Datepicker: Draggable?
- 25. Databinding JQuery UI DatePicker
- 26. ajax datepicker jquery ui
- 27. JQuery UI Datepicker SetDate
- 28. jQuery UI datepicker binding
- 29. Форматирование jQuery UI datepicker
- 30. jQuery UI datepicker translation
Просто попробовал это на демо-странице JQuery UI. Никаких проблем. Можете ли вы воссоздать эту проблему? У вас есть видео, демонстрирующее проблему, любые факты/цифры, а также какие браузеры, какова спецификация ПК и т. Д., Какие другие js были запущены на странице, сколько других элементов управления ... Мы действительно нужна дополнительная информация. – redsquare
Как сказал redsquare - вы пробовали демонстрацию jQuery UI на веб-сайте jQuery? Если у вас нет проблем, возможно, на вашем сайте может быть что-то очень специфическое. – JasCav
Вы когда-нибудь находили ответ? Я испытываю точный вопрос, и у меня такая же проблема и на демонстрационном сайте jQueryUI. –