Javascript 如何跟踪木偶节点中输入的更改。布局视图
我正在尝试在LayoutView中获取我的输入字段,以便在发生更改时进行跟踪 我把代码修改如下 请注意,当发生更改时,它不会触发任何事件Javascript 如何跟踪木偶节点中输入的更改。布局视图,javascript,jquery,backbone.js,marionette,Javascript,Jquery,Backbone.js,Marionette,我正在尝试在LayoutView中获取我的输入字段,以便在发生更改时进行跟踪 我把代码修改如下 请注意,当发生更改时,它不会触发任何事件 如何在主干网/木偶网中实现这一点???您需要扩展主干网.木偶网.布局视图,而不是主干网.布局视图。如果您扩展了适当的库,您的代码就可以正常工作 更正代码- 另外值得注意的是,在您取消对输入的聚焦之前,更改事件不会触发。我更新了您的。事件绑定没有本质上的错误。您所要做的只是.extend()一个木偶.布局视图,而不是主干.布局视图 在我的小提琴中,我决定用模板
如何在主干网/木偶网中实现这一点???您需要扩展
主干网.木偶网.布局视图
,而不是主干网.布局视图
。如果您扩展了适当的库,您的代码就可以正常工作
更正代码-
另外值得注意的是,在您取消对输入的聚焦之前,更改事件不会触发。我更新了您的。事件绑定没有本质上的错误。您所要做的只是.extend()
一个木偶.布局视图
,而不是主干.布局视图
在我的小提琴中,我决定用模板填充el
,而不是指定el
,但是你的方法确实没有错
考虑到以上几点,您的新代码将如下所示
模板
<div id="view-goes-here">
<div id="listing_filter">
Price: <input type="text" id="listing_filter_price" />
Beds: <input type="text" id="listing_filter_bedroom" />
Baths: <input type="text" id="listing_filter_bathroom" />
</div>
var V = Backbone.LayoutView.extend({
el: '#listing_filter',
events: {
'change input': 'updateFilter'
},
updateFilter: function() {
alert('hey');
}
});
var v = new V;
<script type="text/template" id="listing_filter">
<p>
Price: <input type="text" id="listing_filter_price" />
Beds: <input type="text" id="listing_filter_bedroom" />
Baths: <input type="text" id="listing_filter_bathroom" />
</p>
</script>
<div id="view-goes-here">
</div>
var V = Marionette.LayoutView.extend({
template: '#listing_filter',
events: {
'change input': 'updateFilter'
},
updateFilter: function() {
alert('hey');
}
});
var v = new V;
v.render();
$('#view-goes-here').append(v.el);