2010-11-18 1 views
2

Это только в IE8, возникает, когда у меня есть несколько значений выберите поле привязан к observableArray с selectedOptions и есть больше деталей, чем выбор может показать (прокрутка включена) , Итак, всякий раз, когда я Ctrl + нажимаю элемент в окне выбора, прокрутка позиция «отскакивает», и в итоге я немного прокручиваюсь. Это создает неприятный неприятный опыт. Как я понимаю, эти проблемы возникают из-за двусторонней привязки selectedOptions: когда я нажимаю на элемент, он добавляется в массив, , который, в свою очередь, вызывает повторную посылку выбора после наблюдения. Array уведомляет пользовательский интерфейс его изменения. Есть ли что-нибудь, что можно сделать?KnockoutJS selectedOptions связывания вызывает поле выбора джиттера в IE8

UPDATE:

Я закончил с использованием этой привязки:

<select data-bind='visible:operator() ? operator().Element == "DropDown" : false, 
           options: property() ? property().ReferenceItems : null, 
           optionsText: "Name", 
           optionsValue: "Id", 
           optionsCaption: "Выберите...", 
           selectedOptions: selectedValues, 
           multiple: selectedValues().length > 1'> 
</select> 
+0

Вы когда-нибудь находили ответ на этот вопрос? У меня та же проблема – Mel

+0

@Mel, я закончил удаление двусторонней привязки и использовал только однонаправленную (от ui до viewmodel). Это решило мою проблему. – Valentin

+0

Извините, я совершенно новый. но как именно вы это сделали? Я попытался использовать простые js-массивы, и хотя он удалил проблему дрожания, массив не получает обновления с помощью выбора ... – Mel

ответ

0

Я не знаю ... все, что я могу порекомендовать попробовать просить это на группе knockoutjs Google. Он, кажется, активен, и люди, которые являются экспертами, реагируют на подобные вещи.

Смежные вопросы