【发布时间】:2012-11-30 04:36:41
【问题描述】:
我有一个简单的表单作为模板和一个初始化方法来根据需要更改文本区域。问题是我想定位 textarea 以便在其上使用 Jquery,但 Backbone 不会让我这样做。例如,如果我想做 this.$('textarea').css('height', '1em'); 而不是在控制台中返回以下内容:
[prevObject: jQuery.fn.jQuery.init[1], context: <form>, selector: "textarea"]
context: <form>
length: 0
prevObject: jQuery.fn.jQuery.init[1]
selector: "textarea"
__proto__: Object[0]
如果我尝试this.$el.find('textarea').css('height', '1em'),我会得到类似的结果。
这是我的代码:
模板
<script id="reply-form" type="text/template">
<fieldset>
<textarea rows="3"></textarea>
<input type="button" class="cancel btn btn-small" value="Cancel">
<input type="button" class="send btn btn-success btn-small" value="Send">
</fieldset>
</script>
views.js
App.Views.Form = Backbone.View.extend({
tagName: 'form',
initialize: function() {
this.startTextarea();
},
startTextarea: function(){
console.log(this.$('textarea').css('height', '1em'));
},
template: _.template( $('#reply-form').html() ),
render: function() {
this.$el.html( this.template() );
return this;
}
会发生什么?
【问题讨论】:
标签: javascript jquery templates backbone.js