Похоже, что шаблон Dust.js визуализируется после DOM готов к работе. Это означает, что при выполнении вашей функции $(document).ready()
не существует элемента с id
numAmounts
, и никакой обработчик события не связан.
Одно решение, чтобы обойти это использовать event delegation:
$(document).on('blur', '#numAmounts', updateModel);
Основной принцип заключается в том, что обработчик событий связан с элементом, который делает существует - в этом случае сам document
- и ты укажите селектор для динамических элементов, которые будут присутствовать внутри него, чтобы вы реагировали на это событие. В идеале вы бы выбрали нечто более близкое к динамическим элементам в структуре HTML, чем весь документ.
В качестве альтернативного решения: Из краткого ознакомления с документом Dust, кажется, вы можете передать функцию обратного вызова функции render
, которая будет выполнена после визуализации шаблона. Вы можете включить в это привязку обработчика статических событий, и должно быть безопасно предположить, что элемент будет существовать в этой точке. Взгляните на интерфейс Callback раздел Dust.js documentation.
Идентификаторы должны быть уникальными – 2013-03-22 14:12:01
У меня нет каких-либо других элементов с id numAmounts – Cristiano
ok, my bad then – 2013-03-22 14:13:30