0

我继承了一个相对较大的 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 应用程序似乎相当容易。

谢谢

4

1 回答 1

1

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

于 2012-04-15T00:24:22.510 回答