Давайте предположим, что у меня есть простой HTML-разметка:Как поднять DOM событие при работе с KnockoutJS
<div>
<input type="text"/>
</div>
, когда я нажимаю на DIV я хотел бы сосредоточиться входом. Какие у меня способы сделать это?
Я думал о нескольких возможностях, но не выглядел хорошо:
- просто забыть о нокауте и использовать старый добрый JQuery. Но тогда код превращается в спагетти, а поведение UI распространяется по многим местам.
- создать пользовательский bindHandler для ввода и добавить привязку привязки к div, щелкнув изменения свойства модели, пользовательское связывание реагирует на него и вызывает событие фокуса. Но это слишком сложно для такой легкой вещи (по крайней мере, в jq было легко).
Есть ли другие варианты?
По моему скромному мнению, спагетти-код является результатом плохой практики программирования, а не из-за выбора библиотеки. Вы можете написать Spaghetti-Code в нокауте, jquery или просто JS, если кто-то не знает, что они делают. С другой стороны, вы также можете написать хороший управляемый код или Ravioli-Code с одним из них. Это больше зависит от разработчика, а не от выбранной вами библиотеки. – Nope