2013-11-13 4 views
0

Если бы у меня было текстовое поле, которое обновляется вне события keydown, оно не восстанавливает мои наблюдаемые.Сообщите нокауту, наблюдаемому для восстановления из источника

Я попытался назвать model.WrittenContent.valueHasMutated(), который обновляет текстовое поле не наблюдаемой.

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

model.WrittenContent($('#my-input').val()); 

Могу ли я получить нокаут, чтобы заново оценить значение текстовое поле?

ответ

1

Проблема заключается в том, что все, что вы делаете, чтобы обновлять текстовое поле, не приводит к тому, что textarea выдает какое-либо событие, которое прослушивают привязки, поэтому Knockout не знает, что ему нужно обновить любые наблюдаемые.

Вероятно, о лучшем случае вы можете сделать что-то вроде

$('#my-input').change(); 

, который должен генерировать change события, которое привязки могут распознать, если предположить, что параметр valueUpdate установлен в change (как по умолчанию). Это, BTW, также то, что вам нужно сделать, если вы привязываетесь к элементу non-form с набором contenteditable, так как они не генерируют change событий сами по себе.

+0

Да, я думаю, что вы правы, я использую редактор pagedown (например, здесь, при переполнении стека), но нажатие жирным курсивом и т. Д. Не обновляет наблюдаемое, несмотря на изменение значения текстового поля. – 4imble

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