我继承了一个相对较大的javascript应用程序(~3k行代码),只是做兼职javascript。我想把所有jQuery事件处理程序放到一个更健全的组织中。我在想这样的事情:
之前:
$('#click-here').click(function(){
//a bunch of dom manipulations and with 30 of them makes the app fairly convoluted
});
后:
function result_click(){
var global_id=$(this).data('global-id');
alert('here are the results of clicking: ' + global_id);
}
$(document).ready(function(){
$('#click-here').on('click',result_click);
});
</script>
<div id='click-here' data-global-id='23'>click HERE!</div>
这将是一个相当容易的重构,似乎可以更好地构建它。事件处理部分似乎是最不受控制的。这是一种合理的方法吗?一旦达到这一点,将它变成一个backbone.js应用程序似乎相当容易。
THX
答案 0 :(得分:1)
是的,预先定义函数然后将函数的引用传递给click事件是很好的。