如何自动处理javascript函数调用并对其进行包装/修饰

如何自动处理javascript函数调用并对其进行包装/修饰,javascript,html,jsp,Javascript,Html,Jsp,您好,我对现有的javascript代码有问题 背景是一些JSP标记自动包含JS函数,然后一些html元素需要运行这些函数。 但关键是有很多html元素需要使用包含的JS函数,并且很难修改每个单独的元素来配置它应该运行的函数 让我们考虑一个简单的例子:我们有生成表< /p>的JSP标记 <table id="automaticallyGeretatedId"> <tr> <td></td> </tr> </table> 然

您好,我对现有的javascript代码有问题

背景是一些JSP标记自动包含JS函数,然后一些html元素需要运行这些函数。 但关键是有很多html元素需要使用包含的JS函数,并且很难修改每个单独的元素来配置它应该运行的函数

让我们考虑一个简单的例子:我们有生成表< /p>的JSP标记

<table id="automaticallyGeretatedId">
<tr>
<td></td>
</tr>
</table>
然后我们有一些html外部按钮或/和div-s,它们的方法名为“clearData”,但JS是html页面的一部分 有时以这种方式(嵌入Html)

所以我的问题是:除了修改代码中的每个简单clearData之外,还有其他方法来确保每次运行clearData函数时,函数removeItemFromTable()也会运行吗

我的意思是我可以搜索clearData函数并在调用removeItemFromTable函数后追加它吗?这个手术应该在哪里进行,最好的方法是什么


假设每次出现clearData()函数时,函数removeItemFromTable()也将包含在内。

最后,我决定使用此链接中描述的技术:

我在文档中设置了准备搜索函数clearData()

函数decorateClearData()中的和代码


这是因为clearData是全局函数,也许这不是一种实用的方式,但我没有其他想法。

为什么不在某个地方注册各种处理程序,并从一个地方调用它们,就像本例中的
clearData
?事件也可能是合适的,除非你有很多严格的顺序操作。@Dave Newton你能给我更多关于你思维方式的细节吗?简而言之:与其只定义
removeItemFromTable
,不如定义它,并将其添加到
clearData
将运行的函数列表中。我认为大多数ppl都需要更多“事件驱动”解决方案,但这是一个很好的信息。thx 4共享
function removeItemFromTable(){
    //modify automaticallyGeretatedId
}
function addItemToTable(){
    //modify table, add values and so on..
}
<script>
function clearData(){/*some code*/}
</script>
function clearData(){ //some code
}
$( document ).ready(function() {
    decorateClearData();
});
function decorateClearData() {
    clearData = (function() {
    var cached_function = someFunction;

    return function() {
        cached_function.apply(this, arguments); // use .apply() to call it

        // and my new code:
        removeItemFromTable();
    };
}());
}