我是一名Flash开发人员,是UX开发人员。在命名空间对象或类中编写事件处理函数时,我试图弄清楚最佳实践是什么?
当我看到一些添加嵌套处理程序的大型init函数时,我不喜欢它。阅读和杂乱很难。我认为事情应该更多。
我就是这样做的(使用jQuery),但有更好的接受方式吗?
var myNamespace = {
init: function() {
var self = this;
$('#button').click( function(event) { self.onClick(event); } );
},
onClick: function(event) {
// do something
}
};
答案 0 :(得分:0)
如果您正在开发一个新项目,我建议您使用Backbone,它有一个很好的方法来添加事件:
var DocumentRow = Backbone.View.extend({
tagName: "li",
className: "document-row",
events: {
"click .icon": "open",
"click .button.edit": "openEditDialog",
"click .button.delete": "destroy"
},
render: function() {
...
},
open: function() {
// listener...
}
});