ivo*_*ory 4 backbone.js backbone-stickit
我在视图中有很多事件绑定到元素,但是当我使用stickit js通过更改模型来更改视图中的值时,它不会触发onChange事件.
有没有办法可以为当前模型触发onchange事件:在模型中设置值后的元素,而不必为每个绑定编写处理程序?这适用于所有表单元素input/select/textarea.
我想为页面上的每个表单元素避免以下内容:
bindings: {
'#foo': {
observe: 'foo',
afterUpdate: 'forceChange'
},
'#bar': {
observe: 'bar',
afterUpdate: 'forceChange'
},
...
},
forceChange: function(el) { jQuery(el).change() }
Run Code Online (Sandbox Code Playgroud)
小智 5
一个可能的hack(仅限版本0.6.3)将定义一个匹配所有元素的全局处理程序:
Backbone.Stickit.addHandler({
selector: '*',
afterUpdate: function($el) {
$el.trigger('change');
}
});
Run Code Online (Sandbox Code Playgroud)
由于处理程序与其他配套处理程序和绑定配置混合的顺序,他们的定义,你不能用afterUpdate在任何您绑定的,而不会覆盖这一全球性,全匹配的处理器,因为该绑定配置最后在被混合你可以在这里阅读更多相关信息.
| 归档时间: |
|
| 查看次数: |
4700 次 |
| 最近记录: |