Если вы не хотите, чтобы представление обернуло ваш HTML, вам придется сделать несколько вещей:
- Заменить
this.el
полностью
- Звоните
delegateEvents
по новой el
render: function(){
var html = "some foo";
this.el = html;
this.delegateEvents(this.events);
}
Поскольку Backbone генерирует div
или другой тег (в зависимости от настроек tagName
для представления), его необходимо полностью заменить. Это легко сделать. Однако, когда вы делаете это, вы теряете объявленные события, потому что Backbone использует jQuery delegate
под капотом, чтобы соединить их. Чтобы повторно включить объявленные события, позвоните по номеру delegateEvents
и передайте объявления событий.
В результате ваш view.el
будет тегом <option>
, который вы хотите, и ничего более.