Я хочу иметь возможность установить фокус на текстовую область в результате щелчка мыши не в этой области задач.
В качестве минимального примера предположим, что я начинаю с текста, и если вы нажмете на него, он заменится текстовым полем. Я могу добиться этого с помощью сценария руля:
<script type="text/x-handlebars">
{{#if isActive}}
{{view Ember.TextField}}
{{else}}
<p {{action foo}}> Click Here to Enter text </p>
{{/if}}
</script>
с контроллером
App.ApplicationController = Ember.Controller.extend({
isActive: false,
foo: function(){
this.set("isActive", true);
}
});
Это работает для создания текстового поля по щелчку, но не фокусируется на этой текстовой области (для фактического ввода текста требуется второй щелчок).
Есть ли хороший способ достичь этой цели? Я мог бы сделать что-то хакерское, установив идентификатор в шаблоне и выбрав его с помощью jquery, но это кажется неэлегантным.