重构javascript事件处理程序 - 这是一个合理的事情吗?

时间:2012-04-14 23:30:34

标签: javascript jquery

我继承了一个相对较大的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

1 个答案:

答案 0 :(得分:1)

是的,预先定义函数然后将函数的引用传递给click事件是很好的。