Tor*_*ups 9 handlebars.js ember.js
我有一个简单的ember.js文本字段,我正在尝试添加自动对焦
{{view PersonApp.SearchField placeholder="search..." valueBinding="searchText"}}
PersonApp.SearchField = Ember.TextField.extend({
});
Run Code Online (Sandbox Code Playgroud)
我可以在javascript中添加它还是像模板本身中的属性一样简单?
psa*_*ord 29
更新:
更新版本的Ember现在支持内置,因此您不再需要重新打开TextField来添加attributeBinding.截至2014年1月(提交fdfe8495),您只需在模板中使用HTML5自动对焦属性:
{{input value=search type="text" placeholder="Search" autofocus="autofocus"}}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的jsfiddle演示.
以前的方案:
您还可以重新打开TextField以允许绑定autofocus属性:
Ember.TextField.reopen({
attributeBindings: ['autofocus']
});
Run Code Online (Sandbox Code Playgroud)
然后在你的模板中:
{{input value=search type="text" placeholder="Search" autofocus="autofocus"}}
Run Code Online (Sandbox Code Playgroud)
rit*_*rit 10
还可以选择在TextField上使用HTML5自动聚焦属性.
PersonApp.SearchField = Ember.TextField.extend({
attributeBindings: ['autofocus'],
autofocus: 'autofocus'
});
Run Code Online (Sandbox Code Playgroud)
有关自动聚焦字段的更多信息,另请参阅有关Mozilla Developer Network的文档:
自动对焦意味着我们立即开始关注文本框?你想要didInsertElement那个.
didInsertElement: function() {
this.$().focus();
}
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/qKXJt/139/