문제
나는 새로운 Ember.js.에만 집중하고 싶어 TextField(에서 샘플,id="text")초기화 후에, 그러나 준비하는 함수,작동하지 않는 방법에 초점을...
<body>
<!-- library load -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.6.1.min.js"%3E%3C/script%3E'))</script>
<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.5.min.js"></script>
<script type="text/x-handlebars">
{{view Em.TextField id="text"}} // want to focus it.
</script>
<script type="text/javascript">
var App = Em.Application.create();
App.ready = function() {
$('#text').focus(); // does'nt work.
}
</script>
</body>
해결책
다음 코드가 작동합니다.
<script type="text/x-handlebars">
{{view App.TextField id="text"}} // want to focus it.
</script>
<script type="text/javascript">
var App = Em.Application.create();
App.TextField = Em.TextField.extend({
didInsertElement: function() {
this.$().focus();
}
});
</script>
. 다른 팁
하위 클래스 TextField
다음 확산되고 사용자 지정 View
의 주위에 당신의 템플릿을 보이고 지저분한 백성아 나를 앙망하라 그리하 썼는데 이 작은 1 킬로바이트 패키지할 수 있는 이렇게 더 많은 우아하게,직접 템플릿에서 없이,추가 코드:
<body>
<!-- all the libraries -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.2.0/ember.min.js"></script>
<script src="http://rawgithub.com/AndreasPizsa/ember-autofocus/master/dist/ember-autofocus.min.js"></script>
<!-- your template -->
<script type="text/x-handlebars">
Hello, world! {{ input }}
:
: more elements here
:
{{ autofocus }} {# <<<<-- Magic happens here #}
</script>
<!-- your app -->
<script>
Ember.Application.create();
</script>
</body>
당신은 그것을 얻을 수 있습니다 https://github.com/AndreasPizsa/ember-autofocus
나 bower install ember-autofocus
.나는 의견을 보내 주셔서 감사합니다!
제휴하지 않습니다 StackOverflow