我有一个包含简单事件的主干 View :
Backbone.View.extend({
events: {
"change #id": "idChanged"
},
idChanged: function () {}
initialize: function () {
/* construct HTML */
$("#id").trigger("change");
}
});
但是,这不会触发 idChanged
事件。当我使用浏览器更改 #id
时,它确实会触发。如何触发 Backbone View 事件?
最佳答案
代码中的一些内容。
1 我认为您没有正确定义事件。
它应该是一个哈希值,或者是一个返回哈希值的函数,如下所示:
events: {
"change #id": "idChanged"
}
2 一些拼写错误,例如“function”和缺少逗号
然后,为了使事件起作用,定义的 #id 元素必须位于 View 的 el
内部。如果元素在 View 之外,它就不起作用。
此外,您无法在初始化中触发该函数,因为在执行该函数之前, View 尚未完全初始化。 :)
这是一个工作示例:
关于javascript - 使用 jQuery 触发 View 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357717/