我只是想知道是否有一种方法可以重构这段代码:
Template.bookmarks.events({
// save changes
'keyup .set_tag' : function(e,t) {
if(e.which === 13) {
save_changes(e.target.id.substring(3));
}
},
'keyup .set_name' : function(e,t) {
if(e.which === 13) {
save_changes(e.target.id.substring(4));
}
},
'click .save_changes' : function(e,t) {
save_changes(e.target.id);
}
});发布于 2013-10-27 00:34:36
尝试在表单标签中包装,并侦听该表单的提交事件。确保event.preventDefault()
然后,您可以避免所有的密钥代码13的东西。
发布于 2013-10-26 19:19:00
function action(key, offset) {
return function(e, t) {
if (e.which === key) {
save_changes(e.target.id.substring(offset))
}
}
}
Template.bookmarks.events({
// save changes
'keyup .set_tag': action(13, 3),
'keyup .set_name': action(13, 4),
'click .save_changes': function(e, t) {
save_changes(e.target.id);
}
});一个解决问题的方法。我不会试图将第三个事件处理程序强制到action函数中,因为它会使action函数变得更加复杂。
https://stackoverflow.com/questions/19608585
复制相似问题