[javascript][jquery]如何在現有的事件event的執行之後或是執行之前,加上自己客製化的程式碼

  • 16
  • 0

[javascript][jquery]如何在現有的事件event的執行之後或是執行之前,加上自己客製化的程式碼

以現有的click事件為例子,若是要在click事件的前面加上自己的客製化的程式碼,利用eval()即可順利完成囉,範例如下:

var btnFileDelete = $('button[id*=btnFileDelete]');
var btnFileDeleteClick = btnFileDelete.attr("onclick");
btnFileDelete.on('click', function () {
    YourCustomFunction();
    eval(btnFileDeleteClick); // do original action here...
});


大概是這樣,工作上通常會在"不太想改之前的人寫的程式碼"的情況下,會用到eval()這招。
或者在以框架開發出來的網頁,例如: asp.net webform, Angular.js….這類型的框架,產出的click事件大多是由框架自動產生,因此很難再去改它的click事件內容,僅能在其click事件之後或是之前加上"補強措施",這個時候也會用到本post文章這招eval()唷。

參考資料:
自己工作上經驗