2012-04-14 64 views
0

我已經繼承了一個相對較大的JavaScript應用程序(約3千行代碼),只是做兼職的JavaScript。我想把所有的jQuery事件處理程序放到一個更加健全的組織中。我想是這樣的:重構JavaScript事件處理程序 - 這是一個合理的事情嗎?

前:

$('#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

是的,這是很好的預先定義的函數,然後傳遞給函數的引用到點擊事件。